A10: Server-Side Request Forgery (SSRF) · 2021
El servidor realiza solicitudes a una ubicación controlada por un atacante, que puede alcanzar servicios internos, metadatos cloud o destinos bloqueados para el usuario.
Resumen
El servidor realiza solicitudes a una ubicación controlada por un atacante, que puede alcanzar servicios internos, metadatos cloud o destinos bloqueados para el usuario.
Cómo funciona el ataque
El usuario controla una URL que el servidor consulta; la solicitud llega a un servicio interno que el usuario no puede alcanzar directamente.
Ejemplo
Vulnerable · PseudocódigoPOST /preview
{"url": "http://internal.example/status"}
preview = fetch(user_url)Corrección: Permitir solo destinos necesarios; validar IP resuelta y redirecciones y limitar la salida de red.
Prevención
- Permitir solo destinos y protocolos necesarios mediante una lista explícita.
- Aplicar segmentación y controles de salida en la red.
- Normalizar y validar URLs y bloquear rangos internos y servicios de metadatos.
Linaje
- 2013 · A4: Insecure Direct Object References Se fusiona en Broken Access Control
- 2013 · A7: Missing Function Level Access Control Se fusiona en Broken Access Control
- 2017 · A5: Broken Access Control Sube al puesto 1 en 2021
- 2021 · A01: Broken Access Control Sube desde A5:2017
- 2021 · A10: Server-Side Request Forgery (SSRF) Nueva en 2021
- 2025 · A01: Broken Access Control Consolida SSRF y permanece en el puesto 1
- 2013:A4 → 2017:A5: IDOR se integra en Broken Access Control.
- 2013:A7 → 2017:A5: Missing Function Level Access Control se integra en Broken Access Control.
- 2017:A5 → 2021:A01: Broken Access Control sube del puesto 5 al 1.
- 2021:A01 → 2025:A01: Broken Access Control permanece en el puesto 1.
- 2021:A10 → 2025:A01: SSRF se consolida dentro de Broken Access Control.