Finding and exploiting an unused API endpoint portswigger writeup

Descripción

To solve the lab, exploit a hidden API endpoint to buy a Lightweight l33t Leather Jacket. You can log in to your own account using the following credentials: wiener:peter.

Required knowledge
To solve this lab, you’ll need to know:

These points are covered in our API Testing Academy topic.

Finding and exploiting an unused API endpoint writeup

Exploramos la página, iniciamos sesión con el usuario ‘wiener’ y la contraseña ‘peter’ e iniciamos el ‘Logger’ de Burp Suite:

Entramos en el objeto a comprar, lo añadimos al carrito y lo intentamos pagar, dando el mensaje de error de que no tenemos suficientes fondos.

Una vez realizado esto, analizamos todas las peticiones que hay en en logger:

De todas las peticiones, llama la atención esta petición, que obtiene la información de la API del producto. La enviamos al ‘Repeater’ con Ctrl + R y procedemos a manipularla. Entre todos los métodos que podemos emplear para interactuar con una API, intercambiando el método GET por el método OPTION nos devolverá los métodos que acepta:

Ahora sabemos que la API acepta:

Con lo cual, usamos el método PATCH para intentar cambiar el precio del producto a 0. Cambiando sólo ‘OPTION’ por ‘PATCH’ no dará resultado, puesto que tenemos que indicar el nuevo para el objeto y que el contenido que proporcionamos es un JSON:

Esto lo conseguimos modificando la petición añadiendo 2 líneas:

Content-Type: application/json
{"price":  0}

Una vez enviada la petición la API nos devolverá que ha sido recibida correctamente, al regresar al navegador y actualizar veremos que el objeto cuesta ahora 0.00:

Pudiendo así pagarlo y completar el laboratorio:

Deja una respuesta

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