Skip to main content

Pwntools CTF framework and exploit development library.

Project description

pwntools - CTF toolkit

pwntools logo

pwntools logo

PyPI Docs Travis GitHub Workflow Status (branch) Coveralls MIT License 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 LTE releases (14.04, 16.04, 18.04, and 20.04). Most functionality should work on any Posix-like distribution (Debian, Arch, FreeBSD, OSX, etc.). Python >= 2.7 is required (Python 3 suggested as best).

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

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.

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.4.0.tar.gz (5.1 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.4.0-py2.py3-none-any.whl (10.0 MB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: pwntools-4.4.0.tar.gz
  • Upload date:
  • Size: 5.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 PyPy/7.3.3beta

File hashes

Hashes for pwntools-4.4.0.tar.gz
Algorithm Hash digest
SHA256 c51605b538c6394c6c31bc90bb3436224b497be1fe21a0a2420785ca399087e3
MD5 66b152dea9f557564bb9110b475d32ab
BLAKE2b-256 b03a00f6dfcb5647acef99ce4dd9f16e557390d2507e60263f16cbfea8873c0a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pwntools-4.4.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 10.0 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 PyPy/7.3.3beta

File hashes

Hashes for pwntools-4.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7e2dd2665091555bfa8ab2bf191240ca23a19c7f7881027f8d15077b9dd86c62
MD5 15ed1926155c5168d74d5e4551854e2e
BLAKE2b-256 5dcb4ce87e2db33d93821b73a425c0aac7c6469206a70712008c321224e91f12

See more details on using hashes here.

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