Parte: 4 — Seguridad de aplicaciones web · Fuente: Real-World Bug Hunting (Yaworski) / OWASP Top 10 A10 ⏱️ Duración estimada: 120 min · Nivel: Avanzado
Explotar el SSRF (falsificación de petición del lado servidor): hacer que el servidor realice peticiones a destinos que el atacante controla, incluyendo servicios internos y endpoints de metadata cloud. Es una de las vulnerabilidades de mayor impacto en entornos modernos y una categoría propia del OWASP Top 10.
⚠️ Ética: solo en labs propios/autorizados (PortSwigger, Juice Shop). Alcanzar redes internas ajenas es un delito.
Al finalizar, el alumno podrá:
localhost y la red interna.| # | Tema | Por qué importa |
|---|---|---|
| 1 | Qué es SSRF y su superficie | Base del ataque |
| 2 | SSRF a servicios internos | Pivote hacia la red interna |
| 3 | Metadata cloud (169.254.169.254) | Robo de credenciales |
| 4 | SSRF ciega y OOB | Detección sin respuesta directa |
| 5 | Bypass de filtros de URL | Realidad de las defensas |
| 6 | Esquemas alternativos (file://, gopher://) | Amplían el impacto |
| 7 | Defensa: allowlist, sin redirecciones | Cierre del fallo |
http, file, gopher, dict. Característica: esquemas exóticos amplían lo que se puede hacer.⚠️ Solo en labs propios/autorizados.
http://localhost/admin y observa si el servidor la alcanza.http://169.254.169.254/latest/meta-data/iam/security-credentials/
localhost usando 127.1, [::1] o IP en formato decimal.127.0.0.1 de tres formas distintas.Resuelve un lab de SSRF de PortSwigger que exija acceder al endpoint de metadata y usa las credenciales obtenidas para completar el objetivo del lab. Criterio de aceptación: el lab queda resuelto, entregas la URL de SSRF, las credenciales/dato extraído y explicas la defensa (allowlist, bloqueo de rangos internos) que lo evitaría.
| Síntoma / mensaje | Causa y cómo arreglar |
|---|---|
| El servidor no sigue la URL | La feature valida el destino; busca otra función |
Bloqueado localhost |
Usa 127.1, [::1], decimal o DNS que resuelva a interno |
| Sin respuesta visible | SSRF ciega; confirma con OOB |
| Redirección no ayuda | La app no sigue redirecciones; prueba otro vector |
| Metadata devuelve 401 | IMDSv2 requiere token; ajusta la técnica |
❓ ¿Por qué SSRF es tan grave en cloud? Porque el endpoint de metadata entrega credenciales de la instancia; con ellas, el atacante puede pivotar a toda la cuenta cloud.
❓ ¿IMDSv2 resuelve el SSRF? Lo mitiga exigiendo un token PUT previo, más difícil de lograr vía SSRF simple, pero no elimina todos los vectores.
❓ ¿Basta con un blocklist de IPs? No. Los blocklists se evaden fácil. Usa allowlists de destinos y bloquea rangos privados a nivel de red.
Clase 098 — Cross-Site Request Forgery (CSRF)