pwn工具1 pwntools模块
摘要
pwntools的安装pwntools的组件
正文
pwntools的安装
pwntools是基于python的一个包,我们可以用pip install来安装这个包。
坑:在 Manjaro 22、Ubuntu 23.04、Fedora 38等最新的linux发行版中运行pip install时,通常会收到一个错误提示:error: externally-managed-environment,即“外部管理环境”错误,但这不是一个 bug。
解决办法:
- 直接去除警告。缺点是包装多了可能会产生混乱
- 使用
pipx,缺点是这个只适用于命令行,脚本中无法使用import引用包 - 使用
venv创建虚拟环境。(我选择为pwn单独建一个环境)apt install python3-venvpython3 -m venv 目录,该指令会在目录中创建一个python虚拟环境。- 进入虚拟环境所在的目录,使用
source bin/activate来进入虚拟环境,然后pip install即可正常使用。 - 关闭当前shell或使用
deactivate即可退出虚拟环境。
总之大费周章最后终于装完了。
pwntools的组件
命令行中输入pwn可以看到pwntools中包括的工具。1
asm,checksec,constgrep,cyclic,debug,disasm,disablenx,elfdiff,elfpatch,errno,hex,libcdb,phd,pwnstrip,scramble,shellcraft,template,unhex
checksec工具
checksec介绍
cyclic工具
使用cyclic的实践-ctfshow-pwn25(ret2libc)
shellcraft工具
使用shellcraft的实践-ctfshow-pwn24(ret2text)
源代码中的ELF("./xxx")函数
这里面抓出来的地址其实不是运行出来的,而是反汇编出来的。就跟objdump -S xxx中对应的地址是一样的。
敬请期待,还没用到
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Phaero的世外桃源!
