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.
Metadata
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 | Provenance | |
|---|---|---|---|---|
| Paddown-0.1.0.tar.gz | 3.2 kB | Without provenance | 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
|
Security for Paddown 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.