00 开始
做题需要用到ROPgadget,去安装下载,然后麻烦越来越多,将成功过程记录下来。
它就是用来查找你的二进制文件中你想要的一些指令,方便你加以利用。
有了ROPgadget 你会发现one_gadget也是必须的。
one_gadget 下载安装与使用
01 安装
安装命令
sudo apt-get install python-capstone
git clone https://github.com/JonathanSalwan/ROPgadget.git
cd ROPgadget
sudo python setup.py install
02 出错处理
出错。。。
解决方案
先进目录
然后注意刚刚最后报错那一段,at后面引号里面那一段,他说缺那个目录。
然后输入
sudo cp -r scripts /home/wuangwuang/.local/lib/python2.7/site-packages/ROPGadget-6.3.dist-info
不要直接复制,用户、python版本啥的都不一样,那个 sudo cp -r scripts 然后再把刚说的引号里面的复制下去,搞定。
03 使用
一点常用的语句
ROPgadget --binary rop --only 'pop|ret' | grep 'eax'
查找可存储寄存器的代码
ROPgadget --binary rop --string "/bin/sh"
查找字符串
ROPgadget --binary rop --only 'int'
查找有int 0x80的地址
那rop指的是二进制文件名,详细的指令可以输入ROPgadget -h 去查看。
搞定。