This project implements a Padding Oracle Attack on AES-CBC with PKCS#7 padding. It includes a challenge server that acts as a padding oracle and an attack client that exploits the oracle to decrypt ciphertext without the encryption key.
git clone https://github.com/AmosChong20/padding-oracle-attack.git
cd padding-oracle-attackpython -m venv venv- On Windows:
venv\Scripts\activate- On macOS and Linux:
source venv/bin/activatepip install requirements.txtpython challenge_server.pyThe server will start listening for incoming connections.
python attack_client.pydeactivatepadding-oracle-attack/
├── website_demo/ # Contains the demo website for a bank account login
├── challenge_server.py # Server implementation for the padding oracle
├── attack_client.py # Client implementation for the padding oracle attack
├── shared_constants.py # Contains shared constants for server and client