作死零基础挑战CTF新生赛
概述
这个比赛就是在考验我使用搜索引擎的能力 主力Google
Web
数字推盘
签到题,直接打开源代码里的main.js找到flag
(然而我一直在怀疑这题不会这么简单罢
事实上这题…不用点开始游戏,就骗出来flag了
然而一直被flag格式坑,交了n遍(
套娃一层就可以
php弱类型,md5逻辑缺陷
通过谷歌找到了一个很全面的md5逻辑缺陷讲解的博客:https://qftm.github.io/2020/08/23/php-md5-bypass-audit/
构造完payload后打开页面源代码就看到flag了(好像是base64加密了还是啥
手机小游戏
直接翻了源码,打开manifest.json,发现一个itseasy.php很可疑,在域名后面加上打开,上传两个md5碰撞的文件,拿到flag(感觉碰运气做出来的
Misc
合成flag之you_lose
合成大西瓜(笑
直接打开源代码,看到一个注释:
1 | <!--if you win the game, please open the folder named "you_win" to get the flag.--> |
然后在域名后面加上/you_win,显示Sorry, I don‘t think you have won the game.(草
于是打开/you_lose就得到flag。( what a great comfort! )。
硬流量
题目给一个pcapng流量包,用wireshark打开
发现是一个USB流量包,然后搜索知道看Leftover Capture Data:
8个字节是键盘映射,第三个字节记录键盘,用tshark导出来
tshark -r out.pcapng -T fields -e usb.capdata >usbdata.txt
然后写个python脚本按USB HID转换出来。自己写不来,用大佬写的。
参考:https://www.cnblogs.com/ECJTUACM-873284962/p/9473808.html
wifihacker
WiFi的握手包,由提示直接生成日期的字典,用aircrack-ng暴力破解
无尽的虚空
100张白图,盲猜拼成10*10
先把5,15,…这几个用stegsolve换通道看,发现只有45和55有黑色线条
然后把41~60用ps拼到一起
再用stegsolve换通道就看见flag了
Reverse
套壳1
记事本打开,Ctrl+F搜flag,去掉中间乱码提交,卧槽correct
记事本打开看开头知ELF文件,用UPX脱壳,然后扔到IDA里查看字符串,找到flag
套壳2
分析Python代码,通过搜索了解了format_spec的格式。原代码把b1和b2异或得到b3即enc.oooooooooooooout,所以把b3异或b2就能得到b1了
动手自己写代码逆向,发现逆向解密和正向加密代码居然一样,于是直接把代码里enc.out和enc.oooooooooooooout互换运行代码,打开enc.out找到flag
Crypto
谜语人
切噜语+栅栏+凯撒试出来
easyRSA
文件里给了n相同的两组公钥,两个message
就是知道n, e1, e2, c1, c2, 求明文m(gcd(e1, e2)==1)
查了一下,了解RSA的共模攻击,搬下来代码运行得到flag
从这里查到:https://1ablades.github.io/2017/08/09/RSA%E5%85%B1%E6%A8%A1%E6%94%BB%E5%87%BB/
Pwn
bypass
先用nc连上,看到提示,用find命令找,cat flag.txt打不开,就cat flag.c,发现限制了一堆命令还有长度。
于是Google,发现有个命令叫od,长度刚好卡上,就输出flag.txt得到一堆八进制数,除去第一列,手动转成16进制连起来(最后一个数不够四位前面补个0)然后16进制转字符串,得到了这个
jtCuFTb{ybpyapsa_serda!y!!}
明显看到tjuCTF了,类似栅栏密码,在线解密+自己手推得到flag。
(补充:不是栅栏密码,是因为xxx原因导致每个16进制前后两位要交换一下。