pwntools
pwntools是一个为CTF PWN题而开发的python库,可用来与本地目标或远程目标交互,生成符合编码的shellcode和payload,解析和搜寻elf文件,还有一个可以做内存泄漏的DynELF模块。
(1)基础信息返回函数、符号虚拟地址(也许不真实,可以用来求相对偏移),可访问ELF文件中如字典信息:
例如下例代码可访问plt表中write函数地址:
elf = ELF(‘stackoverflow’)
plt_write = elf.plt[‘write’]
(2)可搜索字符串,返回的是生成器,例如下例代码返回libc.so.6文件字符串迭代器:
libc = ELF(‘libc.so.6’)
libc.search(‘/bin/sh’)
(3)DynELF是pwntools中专门用来应对无libc情况的漏洞利用模块。
peda
PEDA是为GDB设计的一个强大的插件,它扩展了gdb命令,提供额很多人性化的功能,比如高亮显示反汇编代码、寄存器、内存信息,提高了debug的效率。
- 安装:
git clone https://github.com/longld/peda.git ./peda
echo “source ./peda/peda.py” >> ~/.gdbinit
使用
- vmmap查看内存映射
checksec
查看目标程序的漏洞利用缓解措施pattern
生成字符串模板 写入内存 用于定位溢出点searchmem pattern start end
查找libc库里的 “\bin\sh”查找gadgets
- vmmap查看内存映射
ROPgadget
1.peda的rop搜索到的rop gadgets较少,该专业工具可识别更多的gadget。
pwndbg
待更新…
作者声明
本文版权归作者(rohex)所有,旨在技术交流使用。未经作者同意禁止转载,转载后需在文章页面明显位置给出原文连接,否则相关责任自行承担。
This is copyright.