checksec

检查程序保护情况。

执行下面命令安装:

1
apt install checksec

32位程序支持

安装libc6-dev-i386

执行下面命令安装:

1
apt install libc6-dev-i386

qemu

arm的pwn环境。

安装qemu:

1
2
apt-get install qemu
apt-get install qemu-system qemu-user-static binfmt-support

LibcSearcher

泄露libc库中函数偏移的库:

1
2
3
4
pip install capstone
git clone https://github.com/lieanu/LibcSearcher.git
cd LibcSearcher
python setup.py develop

下载完的libc-database库可能是旧版,并且文件夹内的get不能使用。

解决方案:删除libc-database文件夹,在github下载新的libc-database,然后运行get更新。

1
2
3
cd LibcSearcher
rm -rf libc-database
git clone https://github.com/niklasb/libc-database.git

Ropgadget

用于寻找gadget的工具:

1
2
3
4
pip install capstone
git clone https://github.com/JonathanSalwan/ROPgadget.git
cd ROPgadget
python setup.py install

这样做完会报错,缺少目录:

pwn_rop_error.png

1
2
//首先进入ROPgadget文件夹(省略)
cp -r scripts /usr/local/lib/python3.9/dist-packages/ROPGadget-6.5.dist-info

One_gadget

寻找libc库中的execve(‘/bin/sh’, NULL, NULL),直接拿下Shell权限:

1
2
apt install ruby
gem install one_gadget

IDA(Windows)

吾爱破解:https://www.52pojie.cn/thread-675251-1-1.html