Week1-Misc
Sign in
直接复制粘贴即可。
EZ_fence
打开图片,一串字符串rdh9zfwzSgoVA7GWtLPQJK=vwuZvjhvPyyvjnMWoSotB。
随波逐流一键解码,没有合适的结果。再看题目,说图片是残缺的,肯定有东西被隐藏了,找到代表宽高的字节改大一点。
打开有新发现,得到自定义编码表8426513709qazwsxedcrfvtgbyhnujmikop1QWSAERFDTYHGUIKJOPLMNBVCXZ-_。
栅栏数为4,base64解码用自定义编码表,解码得到New5tar_zjuatrojee1mage5eed77yo#。
照片里藏着密码,16进制打开,在最后能看到一个压缩包,提取出来。
是个加密压缩包,将base64解码得到字符串作为密码即可解压,打开word拿到flag。
Misc 城邦:压缩术
根据提示,密码是由小写字母和数字组成,长度为6位,开始爆破得到密码为ns2025。
打开tips.txt,提示下一个压缩包没有密码,但是还要输入密码,可能是伪加密,将09改为00。
得到key.txt和flag.zip,在flag.zip中也有一个key.txt,两个文件的crc值都一样,是明文加密。(CRC值计算)
将key.txt压缩,开始明文爆破。
解压打开flagggggg.txt即可拿到flag。
OSINT:天空 belong
flag格式为flag{航班号_照片拍摄时所在省份的省会城市_拍摄设备的制造商},分别获得这三个字段即可。右键图片查看属性,制造商为Xiaomi。
飞机飞翼上有B-7198,搜索关键字,查到相关网页,看到照片拍摄时间为2025-08-17 15:03分,筛选一下,只有一个航班符合。(https://www.flightera.net/zh/planes/B-7198/20-Aug-2025_01_50)
看下详情,航班号为UQ3574。
航班的到达时间为15:17,终点站为长沙市,看下途经的离长沙市较近的城市,有三个。
经过尝试为武汉市,所以flag为flag{UQ3574_武汉市_Xiaomi}。
前有文字,所以搜索很有用
Track1为零宽字符隐写,得到ZmxhZ3t5b3Vf。
base64解码。
Track2中的txt为brainfuck解码,得到brainfuckisgooooood,docx看到关键字咏雪,就是SNOW隐写了,将docx中的内容复制到1.txt。
摩斯解码得到0V3RC4ME_。
Track3统计词频,只需要获取到}之前的就可以cH@1LenG3s}。
拼接起来即可flag{you_0V3RC4ME_cH@1LenG3s}。
我不要革命失败
用windbg读取dmo文件,输入!analyze -v命令。
flag为flag{CRITICAL_PROCESS_DIED_svchost.exe}。
Week1-Web
multi-headach3
访问看到关键字ROBOTS。
访问robots.txt,提示有个hidden.php。
直接去访问hidden.php,会跳转到index.php页面。
用burp抓包去访问,在响应头中拿到flag。
strange_login
页面提示1=1,就知道是SQL注入了,直接万能密码登录拿到flag。用户名输入admin' or 1=1#,密码随便填,回车即可登录成功。
别笑,你也过不了第二关
第一关只需要30分,第二关需要1000000分,靠人工肯定是不行了。查看源代码。
需要访问flag.php,用POST方法,再传个参数即可获取服务器返回的数据,构造数据包。- POST /flag.php HTTP/1.1Host: 127.0.0.1:54705User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:145.0) Gecko/20100101 Firefox/145.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding: gzip, deflateConnection: closeCookie: found_hidden=1; PHPSESSID=rgrqc01iu9i1noggel2m3c3039Upgrade-Insecure-Requests: 1Sec-Fetch-Dest: documentSec-Fetch-Mode: navigateSec-Fetch-Site: noneSec-Fetch-User: ?1If-Modified-Since: Sat, 30 Aug 2025 06:08:57 GMTIf-None-Match: "1946-63d8ef9459040-gzip"Priority: u=0, iContent-Type: application/x-www-form-urlencodedContent-Length: 17score=10000000000
复制代码 发送请求包得到flag。
宇宙的中心是 PHP
查看页面源代码,看到s3kret.php文件。
访问一下。
只需要满足intval($answer)!=47&&intval($answer,0)==47就能拿到flag,直接利用16进制绕过,给newstar2025赋值为0x2f。
我真得控制你了
页面禁止使用开发者工具,直接抓包,看响应包提到next-level.php。

访问next-level.php,响应代码为302是个重定向,直接跳转。

跳到weak_password.php,浏览器访问一下,是个弱口令。


抓包进行爆破,得到用户名为admin,密码为111111,登录之后,看到代码。- [/code]代码审计,需要满足以下几个条件。
- [list]
- [*]允许的字符:0-9、*、\、/、(、)、空白
- [*]不能是纯数字或空白
- [*]将input的值赋给test,然后判断test=2025就能获得flag。
- [/list]故payload:newstar=45*45。
- [align=center][img]https://img2024.cnblogs.com/blog/3369335/202603/3369335-20260306183702770-1813293341.png[/img][/align]
- [size=5]黑客小 W 的故事(1)[/size]
- 需要800吉欧才能购买剑技,直接抓包修改count参数。
- [align=center][img]https://img2024.cnblogs.com/blog/3369335/202603/3369335-20260307153341210-1022551419.png[/img][/align]
- 跳到下一关与蘑菇先生对话,看提示需要get传参shipin=mogubaozi。
- [align=center][img]https://img2024.cnblogs.com/blog/3369335/202603/3369335-20260307153518378-1689208385.png[/img][/align]
- 蘑菇先生说把想跟他说的话用POST传给他,记得刚进第二关有个关键词guding。
- [align=center][img]https://img2024.cnblogs.com/blog/3369335/202603/3369335-20260307153812865-1652761309.png[/img][/align]
- 要用DELETE方法把他身上的chongzi弄掉,加个参数。
- [align=center][img]https://img2024.cnblogs.com/blog/3369335/202603/3369335-20260307154030947-661328400.png[/img][/align]
- 得到新路径/Level2_END,访问一下,查看提示需要修改User-Agent。
- [align=center][img]https://img2024.cnblogs.com/blog/3369335/202603/3369335-20260307154231793-1022155575.png[/img][/align]
- 将User-Agent改为CycloneSlash,提示假把式、盗版货。
- [align=center][img]https://img2024.cnblogs.com/blog/3369335/202603/3369335-20260307154331978-2111766129.png[/img][/align]
- 豆包搜索CycloneSlash关键词,有发现。
- [align=center][img]https://img2024.cnblogs.com/blog/3369335/202603/3369335-20260307154434486-1763374380.png[/img][/align]
- 改为CycloneSlash/5.0,提示需要DashSlash。
- [align=center][img]https://img2024.cnblogs.com/blog/3369335/202603/3369335-20260307154511677-257880713.png[/img][/align]
- 在User-Agent中再添加一个DashSlash/5.0。
- [align=center][img]https://img2024.cnblogs.com/blog/3369335/202603/3369335-20260307154639526-46260119.png[/img][/align]
- 访问新路径,拿到flag。
- [align=center][img]https://img2024.cnblogs.com/blog/3369335/202603/3369335-20260307154709293-2085661673.png[/img][/align]
- [size=6]Week2-Misc[/size]
- [size=5]美妙的音乐[/size]
- 直接用Audacity打开就能看到flag{thi5_1S_m1Di_5tEG0}。
- [align=center][img]https://img2024.cnblogs.com/blog/3369335/202603/3369335-20260306121451764-515782136.png[/img][/align]
- [size=5]OSINT:威胁情报[/size]
- 微步在线直接搜索hash值。
- [align=center][img]https://img2024.cnblogs.com/blog/3369335/202603/3369335-20260306122950421-1549243463.png[/img][/align]
- [align=center][img]https://img2024.cnblogs.com/blog/3369335/202603/3369335-20260306123650903-1395827744.png[/img][/align]
- 可以得到APT组织为Kimsuky,通信C2服务器为status.geotrust.com、alps.travelmountain.ml、www.korea.com中的一个。
- [align=center][img]https://img2024.cnblogs.com/blog/3369335/202603/3369335-20260306123807809-1145971304.png[/img][/align]
- 编译时间为2021-03-31,经过尝试最终flag为flag{kimsuky_alps.travelmountain.ml_2021-03-31}
- [size=5]星期四的狂想[/size]
- 导出所有的http对象,再某几个文件里能看到相似的代码。
- [align=center][img]https://img2024.cnblogs.com/blog/3369335/202603/3369335-20260310190449069-1313529078.png[/img][/align]
- 对flag每10个字符进行了反转或rot13编码,可能还对它进行了base64编码后赋值给cookie。全局搜索token关键词,在第521条流量中看到字符串R2FYdDNaaHhtWlMwS21TR0szRVZxSUF4QVV5c0hLVzlWZXN0MllwVmdDOUJUTlBaVlM9PQ==。
- [align=center][img]https://img2024.cnblogs.com/blog/3369335/202603/3369335-20260310190933098-305795246.png[/img][/align]
- 对其进行一次base64解码,得到的内容去除掉最后两个等号,刚好是50位,用脚本将所有的可能性都还原。
- [code]import itertoolsimport base64import codecsorigin_str = "GaXt3ZhxmZS0KmSGK3EVqIAxAUysHKW9Vest2YpVgC9BTNPZVS"part_1 = origin_str[:10]part_2 = origin_str[10:20]part_3 = origin_str[20:30]part_4 = origin_str[30:40]part_5 = origin_str[40:]part_1_reverse = part_1[::-1]part_2_reverse = part_2[::-1]part_3_reverse = part_3[::-1]part_4_reverse = part_4[::-1]part_5_reverse = part_5[::-1]part_1_rot = codecs.encode(part_1, 'rot_13')part_2_rot = codecs.encode(part_2, 'rot_13')part_3_rot = codecs.encode(part_3, 'rot_13')part_4_rot = codecs.encode(part_4, 'rot_13')part_5_rot = codecs.encode(part_5, 'rot_13')part_1_lst = [part_1_reverse, part_1_rot]part_2_lst = [part_2_reverse, part_2_rot]part_3_lst = [part_3_reverse, part_3_rot]part_4_lst = [part_4_reverse, part_4_rot]part_5_lst = [part_5_reverse, part_5_rot]# 生成所有的排列组合length = 5permutations = list(itertools.product([0, 1], repeat=length))perm_list = [list(p) for p in permutations]for perm in perm_list: temp_str = part_1_lst[perm[0]] + part_2_lst[perm[1]] + part_3_lst[perm[2]] + part_4_lst[perm[3]] + part_5_lst[perm[4]] padding_needed = (4 - len(temp_str) % 4) % 4 temp_str += "=" * padding_needed print(temp_str, base64.b64decode(temp_str))
复制代码 运行完之后,只有一项最符合。

日志分析:不敬者的闯入
在日志里搜索200,代表该条请求是成功的。
在admin目录里找到了webshell,打开就能获得flag。
Week2-Web
DD 加速器
非常简单的rce漏洞,直接采用;或者|进行绕过。
是个假flag,查看环境变量拿到flag。
真的是签到诶
代码审计,@eval($encoded);存在任意命令执行漏洞,只需要让$encoded的值为我们需要执行的命令即可。
代码逻辑如下:
- 先进行base64解码;
- 再执行自定义atbash函数;
- 如果字符不是字母,直接拼接
- 如果字符是字母,对其进行相应偏移量的移动转换成另一个字母。如:a->z,b->y,c->x,d->w,A->Z,B->Y,C->X,D->W.
- 然后替换空格;
- 最后再进行rot13编码。
构造payload直接逆着逻辑就可以了。
[code] |