Server-Side Request Forgery (SSRF)
El atacante engaña al servidor para hacer requests a recursos internos — accediendo a metadata de cloud, APIs internas o servicios que no deberían ser alcanzables públicamente.
Cómo Funciona
SSRF ocurre cuando una aplicación server-side hace fetch de una URL proporcionada por el usuario sin validación adecuada. El atacante puede hacer que el servidor pida recursos internos como endpoints de metadata de cloud (169.254.169.254), APIs internas o bases de datos solo accesibles desde dentro de la red. En entornos cloud, el endpoint de metadata puede exponer credenciales IAM, llevando a un takeover completo de la cuenta.
app.post('/api/fetch-url', async (req, res) => {
const response = await fetch(req.body.url);
const data = await response.text();
res.json({ data });
});import { isAllowedUrl } from './url-validator';
app.post('/api/fetch-url', async (req, res) => {
if (!isAllowedUrl(req.body.url)) {
return res.status(400).json({ error: 'URL not allowed' });
}
const response = await fetch(req.body.url);
const data = await response.text();
res.json({ data });
});Ejemplo Real
La brecha de Capital One (2019) fue causada por SSRF. Un atacante explotó un WAF mal configurado para hacer requests al endpoint de metadata de AWS, obteniendo credenciales IAM que dieron acceso a buckets S3 con 106 millones de registros de clientes.
Cómo Prevenirlo
- Valida y haz whitelist de URLs y dominios permitidos
- Bloquea requests a rangos IP internos (10.x, 172.16.x, 192.168.x, 169.254.x)
- Usa una librería de parsing de URLs para prevenir técnicas de bypass
- Implementa controles a nivel de red para restringir tráfico saliente
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Control de Acceso Roto
highLos usuarios pueden actuar fuera de sus permisos, accediendo a datos de otros usuarios o funcionalidad admin sin verificaciones de autorización.
Fallos Criptográficos
highDatos sensibles expuestos por encriptación débil o faltante — usar algoritmos obsoletos como MD5/SHA1, guardar passwords en texto plano o transmitir datos sin TLS.
Fallos en Cadena de Suministro
mediumTu aplicación hereda vulnerabilidades de dependencias de terceros — paquetes desactualizados con CVEs conocidos que los atacantes explotan activamente.
Configuración de Seguridad Incorrecta
mediumConfiguraciones por default, CORS abierto, modo debug en producción o mensajes de error detallados exponen tu aplicación a atacantes.