Hacking API

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

Laboratorio

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.

Link

Enviamos la petición al repater.

Producto

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}

stti

Al enviar la petición modificada, el precio del producto debería cambiar a cero.

Price

Ahora, si recargamos la página ya podemos comprar el producto a cero.

0

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

Endpoint

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.

Db

Cargando comentarios...