像一个在pwntools中使用radare2的老板一样调试漏洞
pwntools-r2的Python项目详细描述
pwntools-r2
从pwntools
启动radare2
。这已经过测试,可以与tmux
-^{str 1}结合使用,$其他组合可以也可以不工作。这个可能也适用于没有tmux
的其他设置,但目前不支持。
好的,怎么用这个?
- 新建pipenv:
pipenv --python 2.7
- 安装这个:
pipenv install pwntools-r2
- 进入虚拟环境:
pipenv shell
- 对1337漏洞进行编码:
#!/usr/bin/env python2
from pwntools_r2 import *
r2script = """
#r2.cmd('db sym.main')
#r2.cmd('aaa')
#r2.cmd('V!')
"""
p = r2dbg('./a', r2script=r2script)
p.interactive()
确保不要忘记结尾处的interactive()
:)
请注意,用于r2
的命令必须以#
作为前缀。如果要传递其他参数,可以在pwntools
的gdb.debug
函数原型中使用相同的参数。
- 做事:
python2.7 ./exploit.py
故障排除
- 使用
context.log_level = 'DEBUG'
可以通过pwntools
python脚本调试任何错误。 - 如果找不到终端,请尝试相应地设置
context.terminal
,例如设置为urxvtc