WP-318
唉,这场打的就挺差的。。。wtcl
[RE] baby_re
超级感谢善良的学姐出了道萌新题了!!!
前面给出了flag的格式校验,(一开始眼瞎没看到。。。。
就是一个基础的跟”susctflinux”的异或
1 |
|
[RE] 推箱子
.NET程序,好耶,交给dnSpy了
找到很明显的ShowFlag(),又有md5又有sha1,还是不要手算了
想办法让它直接执行ShowFlag,改一下~~
(下面爆红的地方会报错,直接改成0了。。。。)
导出新的exe,打开即得flag(做得最顺的一道题了,感谢oc师傅~
[RE] reverse 1
hint: 注意加密算法特征
base64,给表了很容易猜到
翻了各种各样的加密方法,总算找到了,很像DES了(不过没找到传说中的S盒。。按理说 Findcrypt 应该识别出来的。。唉)
然后有个小坑就是在base64加密之前有一步异或
知道了这些。。。我还是不会逆。。废物我是废物)
动调了一下,根据加密完的数努力复原出加密函数。。
输入aaaaaaaaaaaaaaaaaa会得到:
努力复原后发现前8位正确,后面又又又不对了。。。
又尝试了几次,发现密钥会变,前八位是后八位的密钥。
1 | import base64 |
规律就是八位一组~
[RE] ezpython
流加密。。。好难。。
其实先考的是去混淆。。
反正。。挺难。。有空好好看一下官方wp了(好在这道题师傅写的超级详细!
官方解密脚本:
1 | import binascii |
[PWN] 2048
真的认真玩了。。但512对我这个游戏废物可太难了呜呜呜呜
[PWN] signin
确实签到,不过一开始emmmm没想到。。。
生成了一个随机的字符串,password等于那个随机字符串就能拿到flag
应该是格式化字符串的漏洞叭,输入的buf如果大于15就会把栈上存的字符串泄露出来,如图:
但是如果输入过长,ans就会默认buf溢出的那一部分为password了(好像)
所以要取刚好的payload长度也就是15
每次写WP都要熬夜。。。晚安啦~