
Descripción
To solve the lab, find the API key for the user carlos
. You can log in to your own account using the following credentials: wiener:peter
.
We have provided a list of possible delimiter characters to help you solve the lab: Web cache deception lab delimiter list.
Exploiting path delimiters for web cache deception writeup
Dividiremos este laboratorio en varias partes:
Encontrar la API Key
La API Key la encontraremos al iniciar sesión en ‘My account’ con el usuario ‘wiener’ y la contraseña ‘peter’. La petición tendrá el siguiente aspecto:

Nos la llevaremos al ‘Repeater’ con Ctrl + I o Click derecho -> Send to Intruder.
Encontrar dónde hacer el engaño de caché
Ahora, usando la delimiter list configuraremos la petición de la siguiente forma:

Y desactivaremos la opción de ‘URL-encode these characters’. Al ordenarlos por ‘Status-code’ encontraremos lo siguiente:

Esto quiere decir que la aplicación web entiende las URL:
- https://0af200cf042b98f680b0219900c2000c.web-security-academy.net/my-account;test
- https://0af200cf042b98f680b0219900c2000c.web-security-academy.net/my-account?test
Investigaremos ambas por si generan caché en el servidor. Nos llevaremos la petición al ‘Repeater’ con Ctrl + R o Click derecho -> Send to Repeater, y comprobaremos ambas:

La única que genera caché es la que utiliza el ‘;’. Usaremos esta URL para realizar el mismo script que en el laboratorio anterior:
<script>
document.location="https://0af200cf042b98f680b0219900c2000c.web-security-academy.net/my-account;test.css";
</script>
Al enviarlo en el ‘Body’ de ‘Go to exploit server’ podremos acceder a la misma URL y encontraremos el caché generado por ‘carlos’:

Consiguiendo así la API Key ‘7neLiqSHo24t0WbKFBp5o8fgxz7YiRcv’. Al enviarla en ‘Submit solution’ completaremos el laboratorio.
