Descarga inmediata tras la compraPDF sin DRM: léelo en cualquier dispositivoGarantía de Calidad y Atención 24/7Pago cifrado y 100% seguroEbooks gratis para probar antes de comprarDescarga inmediata tras la compraPDF sin DRM: léelo en cualquier dispositivoGarantía de Calidad y Atención 24/7Pago cifrado y 100% seguroEbooks gratis para probar antes de comprar

Clase principal

Hackeando APIs sin permisos: El peligro oculto en tus apps

  • 3 min de lectura
  • Gratis
Vídeo de esta pieza: en producción. Mientras tanto, todo el contenido está aquí en texto.
Para empezar

Cualquier aplicación moderna que uses hoy en día expone APIs por debajo, y la mayoría están mal configuradas esperando a que alguien robe todos tus datos.

Concepto

¿Qué es una API?

Una Interfaz de Programación de Aplicaciones actúa como el puente de comunicación entre diferentes servicios y bases de datos. Es el canal por el cual una aplicación móvil o web solicita y recibe información en formato JSON o XML.

Dato clave

El blanco favorito

Más del ochenta por ciento del tráfico web global actual pasa a través de APIs, convirtiéndolas en el vector número uno de ataque para los cibercriminales que buscan robar datos masivos sin romper firewalls tradicionales.

Practica

Inspeccionando Endpoints

Para auditar una API, primero debemos mapear sus rutas y endpoints ocultos utilizando herramientas de reconocimiento web sobre las cabeceras HTTP.

terminal
$ curl -X GET https://api.target.local/v1/users/me -H 'Authorization: Bearer eyJhbGci...'
{"status": 401, "error": "Unauthorized token expired"}
Concepto

Arquitectura REST vs SOAP

REST utiliza métodos HTTP estándar como GET, POST, PUT y DELETE junto con URLs basadas en recursos. Su simplicidad la ha convertido en la norma de la industria, pero esa misma flexibilidad a menudo introduce graves fallos de diseño.

Paso a paso

Anatomía de una Petición

Una solicitud a una API moderna consta de elementos estructurales bien definidos que debemos analizar exhaustivamente durante cualquier auditoría de seguridad.

Marca cada paso al entenderlo · 0/4

Cuidado

Falta de Contexto

Nunca asumas que una API es segura solo porque no aparece en el menú principal de la aplicación web. Muchos desarrolladores olvidan que el código del lado del cliente siempre es completamente visible.

Concepto

El peligro de BOLA

Broken Object Level Authorization es la vulnerabilidad crítica número uno en el top de OWASP para APIs. Ocurre cuando el servidor no valida adecuadamente si el usuario autenticado tiene permisos reales sobre el recurso solicitado.

Practica

Explotando IDOR en APIs

Modificar simplemente el parámetro numérico del identificador de usuario en la URL suele permitir el acceso no autorizado a perfiles ajenos si la autorización a nivel de objeto está ausente.

terminal
$ curl -i -X GET https://api.target.local/v1/user/1042 -H 'Authorization: Bearer token_usuario_b'
HTTP/1.1 200 OK
{"id": 1042, "email": "[email protected]", "credit_card": "4532..."}
Paso a paso

Fases de Auditoría

Para realizar un test de seguridad completo sobre una interfaz de programación, debemos seguir una metodología estructurada paso a paso.

Marca cada paso al entenderlo · 0/4

Concepto

Exposición Excesiva de Datos

Ocurre cuando el backend envía a la interfaz todos los campos de un objeto basándose en la suposición de que el cliente filtrará la información visualmente, ignorando que el atacante puede leer la respuesta JSON completa.

Dato clave

El error del JSON completo

Estudios recientes demuestran que más del treinta por ciento de las APIs públicas devuelven datos sensibles internos como hashes de contraseñas o roles de administrador dentro de respuestas destinadas a usuarios comunes.

Practica

Fuzzing de parámetros

Utilizamos herramientas de fuerza bruta orientadas a directorios y parámetros para descubrir funciones ocultas expuestas en los servidores de desarrollo.

terminal
$ ffuf -u https://api.target.local/v1/FUZZ -w api_wordlist.txt -mc 200,403
admin_config            [Status: 403, Size: 182]
export_db               [Status: 200, Size: 10452]
Cuidado

Rate Limiting Ausente

La ausencia de limitación de tasa en endpoints de login o recuperación de contraseñas facilita ataques masivos de fuerza bruta y denegación de servicio lógica contra la infraestructura de la API.

Concepto

Inyección en APIs

Las entradas maliciosas no desinfectadas inyectadas en consultas SQL, NoSQL o comandos del sistema a través de los campos JSON de la API pueden comprometer directamente el servidor backend.

Paso a paso

Buenas Prácticas Defensivas

Para blindar correctamente una API frente a actores maliciosos, los equipos de desarrollo deben implementar controles estrictos en cada capa.

Marca cada paso al entenderlo · 0/4

Concepto

Conclusiones del Módulo

La seguridad en APIs no se trata solo de cifrar el tráfico con HTTPS, sino de asegurar la lógica de negocio y la validación estricta de cada autorización en el servidor.

Repaso rápido

¿Te acuerdas? Toca para comprobarlo

Atajos: ← → para cambiar de pieza · / para buscar