El contenido de algunas cookies puede estar en texto sin formato, y es obvio lo que hacen. Tomemos, por ejemplo, si estas fueran las cookies configuradas después de un inicio de sesión exitoso:
Vemos una cookie (logged_in), que parece controlar si el usuario está conectado o no, y otra (admin), que controla si el visitante tiene privilegios de administrador. Usando esta lógica, si tuviéramos que cambiar el contenido de las cookies y realizar una solicitud, podremos cambiar nuestros privilegios.
Estás pruebas las voy a realizar con curl:
Ejemplo
En esta primera petición no tenemos login entonces no tenemos cookie.
curl http://<ip>/
En esta segunda, veremos le especificamos que queremos estar logueados, como admin false.
Hay páginas como crackstation que podemos des encriptar los hashes.
Ejemplo de des encriptar hash
Padding Oracle Attack
¿Qué es y cómo funciona?
En el modo CBC, el bloque cifrado anterior se usa como IV para XOR con el siguiente bloque:
Para descifrar CBC se realizan las operaciones opuestas:
¿Como se explota?
Con BurpSuite
Sesión de registro
Cuando te vas a registrar en el campo username, si ponemos admin= o admin== nos logueamos automáticamente al usuario admin
Interceptar petición de tu panel iniciado, mandarlo al intruder, seleccionar cookie → Payloads→ Payload type → Bit Flipper Attack → Format of original data - Literal value (Select 1-8) → Start Attack.
Una vez conseguida la cookie, realizamos un cookie hijacking para iniciar sesión con la cookie robada.
padbuster http://example.com/login.php<cookie> <numero de bytes(1,2,3…) -cookie “auth/PHPSESSID=<cookie>” # esto buscara la id que es vulnerable
padbuster http://example.com/login.php <cookie> <numero de bytes(1-8)> -cookie “auth/PHPSESSID=<cookie>” -encoding 0 -plaintext “user=admin” # buscara la cookie del usuario admin para asi hacer un cookie hijacking