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
Paddownclass overwriting thehasValidPadding(...)method retuning abool. As argument it takes ciphertext to test against the Padding Oracle. Have your implementation returnTrueif you receive no padding error andFalseotherwise. -
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.
Release files for Paddown 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| Paddown-0.1.0.tar.gz | 3.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| Paddown-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.3 kB
Release files / Paddown-0.1.0.tar.gz
| Download URL | Paddown-0.1.0.tar.gz |
|---|---|
| Size | 3.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
125e72dfcb541d766457f679427e5016bbdeb0c88861426795b784ab788d7ea2
|
|
BLAKE2b-256 checksum How to use checksums |
f086d8fd436cf237b2b46aaa6286277905f616440879a1d557516b7736b7a9f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / Paddown-0.1.0-py3-none-any.whl
| Download URL | Paddown-0.1.0-py3-none-any.whl |
|---|---|
| Size | 4.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
727be922c4407237abaaf2d9c9332f9d8f671a3918510d2bced3e2b48cb2ef2c
|
|
BLAKE2b-256 checksum How to use checksums |
f1ecb8a2b19f5967c49ab56dbcc94762237c58c0f645275a649f148e1075d696
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|