
Descripción
The user management functions for this lab are powered by a GraphQL endpoint. The lab contains an access control vulnerability whereby you can induce the API to reveal user credential fields.
To solve the lab, sign in as the administrator and delete the username carlos.
Learn more about Working with GraphQL in Burp Suite.
Accidental exposure of private GraphQL fields writeup
Al iniciar el laboratorio encontraremos un blog online:

Vamos a «My account», encendemos el logger de Burp Suite e interceptamos la petición de login:

La enviamos al repetidor con Ctrl + R o Click derecho -> Send to Repeater. Allí realizamos un escaner igual que en el laboratorio anterior, (Click derecho -> GraphQL -> Set introspection query). Una vez que tengamos el resultado lo enviaremos al site map (Click derecho en la parte de respuesta -> GraphQL -> Save GraphQL queries to site map). Ahora iremos a Target -> Sitemap:

En este menú se nos mostrará todo lo que ha encontrado la query de forma ordenada. En la pantalla de la izquierda abrimos el desplegable y encontraremos ordenadas todas las querys que se pueden realizar a esta API de GraphQL:

De todas destaca la de getUser(id), la cual al proporcionar un id, nos devuelve el id, el username y el password. Daremos click derecho a esta query y la enviaremos al Repeater.

Aquí sólo tendremos que cambiar la variable de 0 a 1 para obtener la contraseña del administrador. Es normal pensar que el id del ‘administrator’ es 1 porque suele ser el primer usuario que se crea, y los ids se suelen generar de manera secuencial.

Volvemos al navegador e introducimos el usuario y la contraseña:

Ahora aparecerá la opción de «Admin panel». Al entrar podremos borrar al usuario ‘carlos’ y finalizar el laboratorio:


