
Este repositorio sirve para demostrar y practicar mis habilidades de análisis forense/de vulnerabilidades mediante la reproducción de un CVE relacionado con la web en un entorno seguro.
Este repositorio simula la reproducción de un CVE relacionado con la web (CVE-2025-1489) en un entorno seguro para demostrar y practicar mis habilidades de análisis forense/de vulnerabilidades.
La vulnerabilidad identificada y reproducida es una vulnerabilidad de cross-site scripting (XSS) almacenado en el plugin de WordPress WP-Appbox (versión 4.5.4). El fallo permite que la entrada controlada por el atacante, colocada en el shortcode Appbox de una entrada, se renderice en la salida de la página debido a una sanitización de entrada y un escape de salida insuficientes en atributos escapados por el usuario, lo que permite la ejecución de script malicioso a través de contextos de atributo. La vulnerabilidad está parcheada en versiones posteriores de WP-Appbox (versión 4.5.5+).
El plugin expone un shortcode [appbox ...] que acepta un ID de aplicación appID y atributos de shortcode proporcionados por el usuario, los cuales no se sanitizan ni escapan adecuadamente en el punto de entrada del plugin.
En el archivo de código fuente createoutput.class.php, partes de los datos del shortcode se insertan en atributos HTML o estilos en línea, lo que permite la inyección en contexto de atributo (líneas 199 y 438-447). Al manipular un appID que fuerza una imagen de fondo, pude confirmar solicitudes GET salientes repetibles hacia un servidor del atacante, que son indicadores claros de XSS almacenado en el lado del servidor.
Componentes:
├── attacker/
│ ├── server.py # Attacker HTTP server to serve and log requests
│ └── requests.log # Logs inbound requests into attacker server from WordPress browser
├── README.md # Main overview & reproduction instructions
├── docker-compose.yml # Docker configuration settings
└── full_report.pdf # Full report including analysis, mitigation, findings, and scope of impact
Configuración:
Requisitos previos: Docker Desktop y svn instalados en tu equipo anfitrión.
Pasos:
svn para extraer la etiqueta 4.5.4:svn checkout https://plugins.svn.wordpress.org/wp-appbox/tags/4.5.4 wp-appbox-4.5.4
docker-compose up -d
Configuración de WordPress:
localhost:8000 para acceder a WordPress y crea un usuario Administrador.Inicia sesión como el usuario atacante y navega a Entradas > Añadir nueva > usa el bloque Shortcode para crear una carga maliciosa que explote la vulnerabilidad de XSS almacenado.