Skip to main content
Help us improve Python packaging – donate today!

Pwntools CTF framework and exploit development library.

Project Description

pwntools - CTF toolkit

pwntools logo

pwntools logo

Docs PyPI Travis Coveralls Twitter MIT License

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

Try It Now!

You can now do a live demo of Pwntools, right in your browser.

Documentation

Our documentation is available at docs.pwntools.com

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 LTE releases (12.04, 14.04, and 16.04). Most functionality should work on any Posix-like distribution (Debian, Arch, FreeBSD, OSX, etc.). Python 2.7 is required.

Most of the functionality of pwntools is self-contained and Python-only. You should be able to get running quickly with

apt-get update
apt-get install python2.7 python-pip python-dev git libssl-dev libffi-dev build-essential
pip install --upgrade pip
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

If you have any questions not worthy of a bug report, feel free to ping us at `#pwntools on Freenode <irc://irc.freenode.net/pwntools>`__ and ask away. Click here to connect. There is also a mailing list for higher latency discussion.

Release history Release notifications

History Node

3.13.0b0

This version
History Node

3.12.0

History Node

3.12.0b0

History Node

3.11.0

History Node

3.11.0b0

History Node

3.10.0

History Node

3.10.0b2

History Node

3.10.0b1

History Node

3.10.0b0

History Node

3.9.2

History Node

3.9.1

History Node

3.9.0

History Node

3.9.0b0

History Node

3.8.0

History Node

3.8.0b1

History Node

3.8.0b0

History Node

3.7.1

History Node

3.7.0

History Node

3.7.0b1

History Node

3.7.0b0

History Node

3.6.1

History Node

3.6.0

History Node

3.6.0b1

History Node

3.6.0b0

History Node

3.5.1

History Node

3.5.0

History Node

3.5.0b1

History Node

3.5.0b0

History Node

3.4.1

History Node

3.4.0

History Node

3.4.0b4

History Node

3.4.0b3

History Node

3.4.0b2

History Node

3.4.0b1

History Node

3.4.0b0

History Node

3.3.4

History Node

3.3.3

History Node

3.3.2

History Node

3.3.1

History Node

3.3.0

History Node

3.3.0b0

History Node

3.2.1

History Node

3.2.0

History Node

3.2.0b5

History Node

3.2.0b4

History Node

3.2.0b3

History Node

3.2.0b2

History Node

3.2.0b0

History Node

3.1.1

History Node

3.1.0

History Node

3.1.0b3

History Node

3.1.0b2

History Node

3.1.0b1

History Node

3.1.0b0

History Node

3.0.4

History Node

3.0.2

History Node

3.0.1

History Node

3.0.0

History Node

2.2

History Node

2.1.3

History Node

2.1.2

History Node

2.1.1

History Node

2.1.0

History Node

2.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
pwntools-3.12.0.tar.gz (2.0 MB) Copy SHA256 hash SHA256 Source None Feb 22, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page