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.1
- Host: 127.0.0.1:54705
- User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:145.0) Gecko/20100101 Firefox/145.0
- Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
- Accept-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.2
- Accept-Encoding: gzip, deflate
- Connection: close
- Cookie: found_hidden=1; PHPSESSID=rgrqc01iu9i1noggel2m3c3039
- Upgrade-Insecure-Requests: 1
- Sec-Fetch-Dest: document
- Sec-Fetch-Mode: navigate
- Sec-Fetch-Site: none
- Sec-Fetch-User: ?1
- If-Modified-Since: Sat, 30 Aug 2025 06:08:57 GMT
- If-None-Match: "1946-63d8ef9459040-gzip"
- Priority: u=0, i
- Content-Type: application/x-www-form-urlencoded
- Content-Length: 17
- score=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][/align]
- [size=5]黑客小 W 的故事(1)[/size]
- 须要800吉欧才气购买剑技,直接抓包修改count参数。
- [align=center][/align]
- 跳到下一关与蘑菇老师对话,看提示须要get传参shipin=mogubaozi。
- [align=center][/align]
- 蘑菇老师说把想跟他说的话用POST传给他,记得刚进第二关有个关键词guding。
- [align=center][/align]
- 要用DELETE方法把他身上的chongzi弄掉,加个参数。
- [align=center][/align]
- 得到新路径/Level2_END,访问一下,查察提示须要修改User-Agent。
- [align=center][/align]
- 将User-Agent改为CycloneSlash,提示假把式、盗版货。
- [align=center][/align]
- 豆包搜索CycloneSlash关键词,有发现。
- [align=center][/align]
- 改为CycloneSlash/5.0,提示须要DashSlash。
- [align=center][/align]
- 在User-Agent中再添加一个DashSlash/5.0。
- [align=center][/align]
- 访问新路径,拿到flag。
- [align=center][/align]
- [size=6]Week2-Misc[/size]
- [size=5]美好的音乐[/size]
- 直接用Audacity打开就能看到flag{thi5_1S_m1Di_5tEG0}。
- [align=center][/align]
- [size=5]OSINT:威胁谍报[/size]
- 微步在线直接搜索hash值。
- [align=center][/align]
- [align=center][/align]
- 可以得到APT构造为Kimsuky,通讯C2服务器为status.geotrust.com、alps.travelmountain.ml、www.korea.com中的一个。
- [align=center][/align]
- 编译时间为2021-03-31,颠末实行终极flag为flag{kimsuky_alps.travelmountain.ml_2021-03-31}
- [size=5]星期四的狂想[/size]
- 导出全部的http对象,再某几个文件里能看到相似的代码。
- [align=center][/align]
- 对flag每10个字符举行了反转或rot13编码,大概还对它举行了base64编码后赋值给cookie。全局搜索token关键词,在第521条流量中看到字符串R2FYdDNaaHhtWlMwS21TR0szRVZxSUF4QVV5c0hLVzlWZXN0MllwVmdDOUJUTlBaVlM9PQ==。
- [align=center][/align]
- 对其举行一次base64解码,得到的内容去撤消末了两个等号,刚好是50位,用脚本将全部的大概性都还原。
- [code]import itertools
- import base64
- import codecs
- origin_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 = 5
- permutations = 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] |