Pwntools — это CTF-фреймворк и библиотека разработки эксплойтов. Написанный на Python, он предназначен для быстрого прототипирования и разработки и призван максимально упростить написание эксплойтов.
from pwn import *
context ( arch = 'i386' , os = 'linux' )
r = remote ( 'exploitme.example.com' , 31337 )
# EXPLOIT CODE GOES HERE
r . send ( asm ( shellcraft . sh ()))
r . interactive ()
Наша документация доступна на docs.pwntools.com.
Серия руководств также доступна в Интернете.
Для начала мы предоставили несколько примеров решений прошлых проблем CTF в нашем репозитории рецензий.
Pwntools лучше всего поддерживается в 64-битных выпусках Ubuntu LTS (18.04, 20.04, 22.04 и 24.04). Большая часть функций должна работать в любом Posix-подобном дистрибутиве (Debian, Arch, FreeBSD, OSX и т. д.).
Предлагается Python3, но Pwntools по-прежнему работает с Python 2.7. Большая часть функциональности 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-зависимостей. Для получения дополнительной информации см. полные инструкции по установке здесь.
См. CONTRIBUTING.md
Если у вас есть вопросы, не заслуживающие отчета об ошибке, присоединяйтесь к серверу Discord по адресу https://discord.gg/96VA2zvjCB.