Hacking API

Resumen: Una API es un fragmento de código que se encarga de comunicar dos aplicaciones. Hace que el usuario interactúe con el Backend.
Nota: Para esta práctica usaremos los laboratorios de Portswigger y chatGPT.
Procedimiento
Una vez en el laboratorio, vemos una página web que tiene varios artículos a la venta, lo que haremos es modificar el comportamiento de la API para que el precio sea cero.
Abrimos nuestro Burpsuite y lo NO lo ponemos a interceptar aunque sí usaremos el proxy para que las peticiones pasen por él.
Nos movemos al apartado http history después de pinchar en un producto. Ahí vemos todos los links y observamos que uno es a la API.
Enviamos la petición al repater.
Ahora cambiamos el método por PATCH una vez autenticados en la web y cambiamos el precio por cero.
Para hacerlo solo hay que añadir los siguientes campos:
Después de HOST.
Content-Type: application/json
Abajo del todo.
{"price":0}
Al enviar la petición modificada, el precio del producto debería cambiar a cero.
Ahora, si recargamos la página ya podemos comprar el producto a cero.
Inyección SQL a una API
En este siguiente laboratorio, creado con chatGPT, vemos como usamos el endpoint de la API para hacer una inyección de código a la base de datos que corre por detrás.
Entramos en la dirección de nuestro endpoint enocontrado:
http://localhost:5000/api/search?name=Alice
Vemos como la URL muestra el parámetro name para encontrar un usuario, ahí haremos una inyección de lo más básica.
http://localhost:5000/api/search?name='or 1=1-- -
Y vemos como nos muestra el contenido de la bases de datos.







