Exploiting origin server normalization for web cache deception writeup

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 origin server normalization 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:

Encontrar una regla de caché que se pueda explotar

En este caso, todos los elementos dentro de la carpeta ‘resources’ tienen la siguiente regla de caché:

Podemos servir al servidor una ruta que, pese a que no esté en resources, le haga creer que sí y nos aplique las normas de caché de esta:

En este caso la ruta será ‘https://0af2005a04bda83080776c1200ab00b3.web-security-academy.net/resources/..%2fmy-account’.

Lo que se ha hecho es añadir un ‘../’ a la ruta, para entrar y salir de resources, pero la ‘/’ se ha codificado a URL (%2f) para que el navegador no la elimine automáticamente junto con la carpeta anterior.

En este ejemplo, el servidor cree que estamos pidiendo un recurso de ‘resources’ y carga sus reglas de caché, pero al buscar la información, decodifica el ‘%2f’ a ‘/’, sirviéndonos ‘my-account’:

El script para el ‘Body’ del ‘Exploit server’ será el siguiente:

<script>
 document.location="https://0af2005a04bda83080776c1200ab00b3.web-security-academy.net/resources/..%2fmy-account"
</script>

Al enviarlo y acceder a ‘my account’ veremos la siguiente información:

Obteniendo la API Key ‘cUpLHE1hOr4YMe0yAgu7p53eogVNG2JC’ que, al enviar en ‘Submit solution’ completará el laboratorio:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *