Skip to main content

Pwntools CTF framework and exploit development library.

Project description

pwntools - CTF toolkit

pwntools logo

PyPI Docs GitHub Workflow Status (dev) Coveralls MIT License Packaging status Discord Twitter

Pwntools is a CTF framework and exploit development library. Written in Python, it is designed for rapid prototyping and development, and intended to make exploit writing as simple as possible.

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()

Documentation

Our documentation is available at docs.pwntools.com

A series of tutorials is also available online

To get you started, we've provided some example solutions for past CTF challenges in our write-ups repository.

Installation

Pwntools is best supported on 64-bit Ubuntu LTS releases (18.04, 20.04, 22.04, and 24.04). Most functionality should work on any Posix-like distribution (Debian, Arch, FreeBSD, OSX, etc.).

Python3 is suggested, but Pwntools still works with Python 2.7. Most of the functionality of pwntools is self-contained and Python-only. You should be able to get running quickly with

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

However, some of the features (assembling/disassembling foreign architectures) require non-Python dependencies. For more information, see the complete installation instructions here.

Contribution

See CONTRIBUTING.md

Contact and Community

If you have any questions not worthy of a bug report, join the Discord server at https://discord.gg/96VA2zvjCB

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pwntools-4.15.0.tar.gz (5.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pwntools-4.15.0-py2.py3-none-any.whl (12.9 MB view details)

Uploaded Python 2Python 3

File details

Details for the file pwntools-4.15.0.tar.gz.

File metadata

  • Download URL: pwntools-4.15.0.tar.gz
  • Upload date:
  • Size: 5.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pwntools-4.15.0.tar.gz
Algorithm Hash digest
SHA256 d99a917298c1ca7241b51bba9ad2212f2af441ef66488059b2426508e9a2a776
MD5 1234830c8c56beb5818536983e077bb3
BLAKE2b-256 f25c9ae3d94c98b0b038ffd7f09ebdac506d346fe1b964999f71c96c8a904efd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pwntools-4.15.0.tar.gz:

Publisher: ci.yml on Gallopsled/pwntools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pwntools-4.15.0-py2.py3-none-any.whl.

File metadata

  • Download URL: pwntools-4.15.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 12.9 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pwntools-4.15.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f5508729b310ef1e959ad324306a0964cb6f2b04a34247484e446f0343eefc5c
MD5 f9f3548e36a5a5536b69e600a8510bf8
BLAKE2b-256 8703b5aab57706d61c65aaf6ed181727e7621c7cf32109b22245ac04f1c76094

See more details on using hashes here.

Provenance

The following attestation bundles were made for pwntools-4.15.0-py2.py3-none-any.whl:

Publisher: ci.yml on Gallopsled/pwntools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page