Descripción

The user management functions for this lab are powered by a GraphQL endpoint. The endpoint accepts requests with a content-type of x-www-form-urlencoded and is therefore vulnerable to cross-site request forgery (CSRF) attacks.

To solve the lab, craft some HTML that uses a CSRF attack to change the viewer’s email address, then upload it to your exploit server.

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

Learn more about Working with GraphQL in Burp Suite.

Performing CSRF exploits over GraphQL writeup

Accedemos al laboratorio, iniciamos sesión en ‘My account’ e interceptamos el cambio de correo con el ‘Logger’:

Tendremos que modificar esta petición HTTP para que pueda cambiar el correo del usuario pero con codificación URL, no con un JSON. Para ello la modificamos de la siguiente forma:

Primero, con Click derecho -> Change request method. Usaremos esto dos veces para crear de nuevo una petición POST normal.

Segundo, añadiendo lo siguiente al cuerpo de la petición:

Codificaremos los valores de los parámetros a URL con Click derecho -> Convert selection -> URL -> URL-encode all characters. El resultado debe ser el siguiente:

Ahora que hemos modificado la petición HTTP para que pueda ser enviada por un formulario, darmos Click derecho -> Engagement tools -> Generate CRSF PoC.

Cambiaremos el email y enviaremos el código generado en ‘Go to exploit server’, en el ‘Body’, y al pulsar ‘Deliver exploit to victim’ habremos completado el laboratorio.

Nota: Hay que cambiar el correo por uno disponible para que funcione.

Deja una respuesta

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