Saltar al contenido
Vulnerabilidades
Índice de contenidos

Introducción al Hacking de APIs

Las APIs (Application Programming Interfaces) son la columna vertebral de las aplicaciones modernas: webs, apps móviles y servicios se comunican a través de ellas. Donde antes había un formulario web, hoy hay una API detrás. Por eso son una de las superficies de ataque más grandes y, a menudo, peor protegidas.


¿Qué es una API (desde el punto de vista ofensivo)?

Una API expone endpoints (rutas) que aceptan peticiones y devuelven datos, normalmente en JSON. El tipo más común es la API REST, que usa métodos HTTP:

Método HTTPAcción habitual
GETLeer / consultar
POSTCrear
PUT/PATCHModificar
DELETEBorrar

Ejemplo de petición y respuesta:

GET /api/v1/users/1337 HTTP/1.1
Host: api.ejemplo.com
Authorization: Bearer eyJhbGciOi...
{
  "id": 1337,
  "username": "diego",
  "email": "[email protected]",
  "role": "user"
}

Otros estilos que encontrarás: GraphQL (un único endpoint, el cliente pide exactamente los campos que quiere) y SOAP (más antiguo, basado en XML).


Por qué las APIs fallan tanto

El problema central: el servidor confía en el cliente. Muchas APIs asumen que las peticiones vendrán de “su” app oficial y se saltan validaciones del lado servidor. Pero tú puedes construir cualquier petición a mano. De ahí salen fallos como:

  • Acceder a datos de otros usuarios cambiando un id (BOLA/IDOR).
  • Llamar a funciones de administrador que la app “no te muestra” (BFLA).
  • Enviar campos extra que el servidor acepta sin filtrar (Mass Assignment).

OWASP API Security Top 10 (el mapa de lo que vas a buscar)

Es la lista de referencia de los fallos más críticos en APIs. Cada uno tiene su nota en Vulnerabilidades/:

IDNombreNota
API1Broken Object Level AuthorizationBOLA
API2Broken AuthenticationJWT
API3Broken Object Property Level AuthorizationExcessive Data Exposure / Mass Assignment
API4Unrestricted Resource ConsumptionRate Limiting
API5Broken Function Level AuthorizationBFLA
API6Unrestricted Access to Sensitive Business FlowsLógica de negocio
API7Server Side Request ForgerySSRF
API8Security MisconfigurationAPI Keys, XXE
API9Improper Inventory ManagementVersiones viejas (/api/v1 vs /api/v2)
API10Unsafe Consumption of APIsConfianza ciega en APIs de terceros

Flujo de trabajo para auditar una API

  1. Descubrir la API y sus endpoints → Enumeración.
  2. Entender la autenticación: ¿tokens JWT, API keys, cookies? → JWT, API Keys.
  3. Interceptar y manipular peticiones con Burp Suite o Postman.
  4. Probar cada endpoint contra el OWASP API Top 10.
  5. Practicar en laboratorios dedicados → Laboratorios.

Consejo: cuando audites una app móvil o una SPA (web de una sola página), abre siempre las herramientas de desarrollador del navegador (pestaña Network) o intercepta el tráfico con Burp. Ahí verás todas las llamadas a la API real, que es donde está la acción.