Padding Oracle

This applies to a general padding oracle attack, but it most commonly applicable to web-services, making it unclear exactly where this fits. However, since it is not only web-service applicable and can be applied to a broad range of applications, I feel it's more applicable to be placed in a general cryptography/encryption section.

A padding oracle attack, attacks the general decryption mechanism used by a remote service rather than the encryption itself. The attack targets a set of ciphers known as block-ciphers which rely on encrypting chunks of data rather than stream based ciphers which encrypt a stream of information at an arbitrary length.

------To Add-----

Tools

Padbuster

A tool called padbuster, is incredibly effective at exploiting these vulnerabilities automatically. The following example will decrypt a base64 encoded ciphertext using the padding oracle attack.

padbuster <url> <codetodecrypt> <blocksize> -encoding 0  -cookies <cookies>  -veryverbose

Once you've decrypted and edited the cookie, you can use the same tool and methods to re-encrypt the cookie.

padbuster <url> <codetodecrypt> <blocksize> -encoding 0 -plaintext <toencrypt> -cookies <cookies>  -veryverbose

Alternatives

I've yet to properly test these out as I did attempt but didn't completely understand the concept of a padding oracle at the time so my solution wasn't correct, but these tools look interesting as a point of further research.

https://github.com/mpgn/Padding-oracle-attack
https://github.com/mwielgoszewski/python-paddingoracle

TODO: Understand the solution correctly, modify these examples and make sure they work.

References

https://blog.skullsecurity.org/2013/padding-oracle-attacks-in-depth
https://blog.skullsecurity.org/2013/a-padding-oracle-example
https://robertheaton.com/2013/07/29/padding-oracle-attack
https://cryptopals.com/sets/3/challenges/17

results matching ""

    No results matching ""