Skip to main content

CBC PKCS7 Padding Oracle Attack engine

Project description

Paddown

Paddown is an AES CBC PKCS7 Padding Oracle Attack engine. It simplifies performing Padding Oracle Attack on a vulnerable encryption service. This is useful for both CTF and real-world attacks, where you are in possession of a ciphertext, and have a so called Padding Oracle available.

Usage

  • Using Paddown is as easy as subclassing the Paddown class overwriting the hasValidPadding(...) method retuning a bool. As argument it takes ciphertext to test against the Padding Oracle. Have your implementation return True if you receive no padding error and False otherwise.

  • Now you are ready to call .decrypt() on your class and start decrypting your ciphertext.

Examples can be found in the ./examples directory.

Development

The project can be setup with

python3 -m venv .venv
.venv/bin/activate
pip install -r requirements/dev.txt
pre-commit install

Pull requests

We are open to pull requests.

We use black, flake8 and isort for linting, and implement unit testing using pytest. A pre-commit configuration file has been added, for checking against these linters before comitting.

Please squash all commits when merging a pull request.

Testing

To run the unittests, simply run pytest.

Project details


Download files

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

Source Distribution

Paddown-0.1.0.tar.gz (3.2 kB view details)

Uploaded Source

Built Distribution

Paddown-0.1.0-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file Paddown-0.1.0.tar.gz.

File metadata

  • Download URL: Paddown-0.1.0.tar.gz
  • Upload date:
  • Size: 3.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for Paddown-0.1.0.tar.gz
Algorithm Hash digest
SHA256 125e72dfcb541d766457f679427e5016bbdeb0c88861426795b784ab788d7ea2
MD5 5bb5712a5b6e283488b22681504b32d1
BLAKE2b-256 f086d8fd436cf237b2b46aaa6286277905f616440879a1d557516b7736b7a9f1

See more details on using hashes here.

File details

Details for the file Paddown-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: Paddown-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

File hashes

Hashes for Paddown-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 727be922c4407237abaaf2d9c9332f9d8f671a3918510d2bced3e2b48cb2ef2c
MD5 f0d7d2e3a656bc6f814efee9f4898aa1
BLAKE2b-256 f1ecb8a2b19f5967c49ab56dbcc94762237c58c0f645275a649f148e1075d696

See more details on using hashes here.

Supported by

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