AzkOsDev / write-ups / ssrf-xss-formcraft

volver

hallazgo de seguridad

Encadenando una SSRF con XSS a través de un plugin de WordPress desactualizado

Cómo una vulnerabilidad conocida y públicamente documentada, olvidada en un subdominio de mantenimiento, se convirtió en el punto de entrada para escalar el impacto de una auditoría de seguridad.

CVE
2022-0591
Componente
Plugin FormCraft
Clase
SSRF → XSS
Contexto
Auditoría autorizada
01

El hallazgo

Durante una auditoría de seguridad sobre la infraestructura de un sitio WordPress, identifiqué una vulnerabilidad conocida y públicamente documentada en el plugin FormCraft, asociada al CVE-2022-0591.

Lo interesante del hallazgo es que el vector de ataque no se encontraba directamente en el sitio web principal, sino en un subdominio que mantenía una versión desactualizada del plugin, convirtiéndose en el punto de entrada para la cadena de ataque.

La vulnerabilidad corresponde a una Server-Side Request Forgery (SSRF) no autenticada, que permitía manipular una funcionalidad del plugin para provocar solicitudes desde el propio servidor hacia destinos controlados o accesibles desde su infraestructura.

02

De SSRF a XSS

Durante la evaluación fue posible demostrar el impacto de la SSRF mediante el reconocimiento de la red interna, identificando servicios que no estaban directamente expuestos a Internet.

Posteriormente, en pruebas controladas, conseguí encadenar la SSRF con un Cross-Site Scripting (XSS), ampliando el impacto potencial mediante el robo de cookies de sesión — demostrando cómo una falla aparentemente aislada puede convertirse en parte de una cadena de ataque más compleja.

03

Evidencia

Webhook.site recibiendo una petición saliente desde el servidor vulnerable
01 · confirmación de la SSRF vía webhook.site — la petición sale desde la infraestructura del servidor, no desde el navegador
Escaneo de puertos internos usando ffuf a través de la SSRF
02 · reconocimiento de puertos internos con ffuf, abusando de la SSRF como proxy ciego
Escaneo externo con nmap sobre el host objetivo
03 · escaneo externo de referencia con nmap sobre el host, para contrastar la superficie visible desde fuera
El servidor vulnerable renderizando contenido de un destino controlado a través de un túnel
04 · el servidor renderiza contenido servido desde un endpoint controlado, confirmando que la SSRF permite inyectar respuestas arbitrarias
Ejecución de un XSS de prueba en el dominio vulnerable
05 · prueba de concepto: el payload servido a través de la SSRF ejecuta JavaScript en el contexto del dominio afectado
Cookies de sesión expuestas mediante el XSS encadenado
06 · impacto final: exfiltración de cookies de sesión del dominio, demostrando el alcance real de la cadena SSRF → XSS
04

Conclusión

Mantener WordPress, plugins y temas actualizados es una medida de seguridad, no un detalle de mantenimiento menor.

Una vulnerabilidad puede comenzar con una simple petición HTTP y terminar teniendo un impacto mucho mayor cuando se combina con otros fallos.

#cybersecurity #pentesting #wordpress #ssrf #xss #bugbounty #ethicalhacking #cve #websecurity