Gallopsled/pwntools
GitHub: Gallopsled/pwntools
Python 编写的 CTF 框架和漏洞利用开发库,专为快速编写 exploit 而设计。
Stars: 13289 | Forks: 1819
# pwntools - CTF 工具包

[](https://pypi.python.org/pypi/pwntools/)
[](https://docs.pwntools.com/)
[](https://github.com/Gallopsled/pwntools/actions/workflows/ci.yml?query=branch%3Adev)
[](https://coveralls.io/github/Gallopsled/pwntools?branch=dev)
[](http://choosealicense.com/licenses/mit/)
[](https://repology.org/project/python:pwntools/versions)
[](https://discord.gg/96VA2zvjCB)
[](https://twitter.com/pwntools)
Pwntools 是一个 CTF 框架和漏洞利用开发库。它使用 Python 编写,旨在用于快速原型设计和开发,并力求让漏洞利用的编写尽可能简单。
```
from pwn import *
context(arch = 'i386', os = 'linux')
r = remote('exploitme.example.com', 31337)
# 漏洞利用代码放在这里
r.send(asm(shellcraft.sh()))
r.interactive()
```
# 文档
我们的文档可在 [docs.pwntools.com](https://docs.pwntools.com/) 获取
此外还有一系列[在线教程](https://github.com/Gallopsled/pwntools-tutorial#readme)
为了帮助您入门,我们在 [write-ups 仓库](https://github.com/Gallopsled/pwntools-write-ups) 中提供了一些过往 CTF 挑战的示例题解。
# 安装
Pwntools 在 64 位 Ubuntu LTS 版本(22.04 和 24.04)上支持最好。大多数功能应该能在任何类 Posix 发行版(Debian、Arch、FreeBSD、OSX 等)上正常工作。
自 5.0.0 版本起,Pwntools 支持 Python 3.10+。对于旧版本以及 Python 2.7,请使用 Pwntools 4.x。pwntools 的大部分功能都是自包含的,且仅依赖 Python。您应该可以通过以下命令快速开始使用
```
sudo apt-get update
sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pwntools
```
但是,某些功能(汇编/反汇编非本机架构)需要非 Python 依赖项。更多信息,请参阅[此处的完整安装说明](https://docs.pwntools.com/en/stable/install.html)。
# 贡献
请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)
# 联系与社区
如果您有任何不值得提 [bug 报告](https://github.com/Gallopsled/pwntools/issues) 的问题,请加入 Discord 服务器:https://discord.gg/96VA2zvjCB
标签:CTF框架, DNS 反向解析, Exploit-Dev, PWN, ROP链构造, Shellcode生成, Web报告查看器, XXE攻击, 二进制漏洞利用, 云资产清单, 快速原型设计, 汇编与反汇编, 漏洞利用开发, 缓冲区溢出, 网络安全, 设备合规, 逆向工具, 逆向工程, 隐私保护, 黑客工具包