
Un entorno de laboratorio práctico y contenerizado para simular y explotar una vulnerabilidad de Cross-Site Scripting (XSS) basado en DOM en el plugin Elementor Website Builder para WordPress, identificada como CVE-2021-24891.
Este laboratorio demuestra una vulnerabilidad de Cross-Site Scripting (XSS) basado en DOM en el plugin Elementor para WordPress (versiones anteriores a la 3.4.8). La vulnerabilidad ocurre porque el código del lado del cliente del editor de Elementor lee directamente los datos del hash de la URL (#...) y los añade al Modelo de Objetos del Documento (DOM) de la página sin un saneamiento adecuado.
Un atacante puede crear un enlace malicioso que contenga una carga útil de JavaScript en el fragmento hash. Cuando un administrador con sesión iniciada (como un editor del sitio) hace clic en este enlace, el script malicioso se ejecuta dentro del contexto de su sesión de navegador, lo que potencialmente permite al atacante realizar acciones en su nombre, robar cookies de sesión o desfigurar el sitio web.
#, que se procesa en el lado del cliente y no se envía al servidor. Este es el punto de entrada de la carga útil maliciosa.Este repositorio contiene una instancia vulnerable de WordPress con el plugin Elementor afectado, lista para que la explotes. El laboratorio se puede ejecutar al instante en la nube o en tu máquina local.
Esta es la forma más fácil de empezar. Proporciona un entorno preconfigurado y basado en la nube en tu navegador.
Iniciar Codespace: Haz clic en la insignia "Open in GitHub Codespaces" en la parte superior de este README.
Esperar la configuración: GitHub preparará tu entorno. Una vez completado, aparecerá una terminal.
Iniciar los servicios vulnerables: En la terminal de VS Code, ejecuta el siguiente comando único:
docker compose up
Esto iniciará el sitio de WordPress vulnerable y su base de datos. Verás que aparece una pestaña "Puertos". Haz clic en el enlace del Puerto 8080 para abrir WordPress en una nueva pestaña del navegador.
Ejecuta todo el laboratorio en tu propia máquina con Docker.
Prerrequisitos:
Instrucciones:
Clonar el repositorio:
git clone https://github.com/hackmelocal/CVE-2021-24891-Simulation.git
cd CVE-2021-24891-Simulation
Iniciar los servicios vulnerables: En tu terminal, ejecuta el comando:
docker compose up
Acceder a WordPress: Abre tu navegador web y navega a http://localhost:8080.
El código JavaScript dentro del editor de Elementor lee el valor de window.location.hash y lo escribe de forma insegura en el DOM de la página. Debido a que la entrada (<script>alert(...)</script>) no está saneada, el navegador la interpreta como una etiqueta de script válida y la ejecuta. Este es un ejemplo clásico de XSS basado en DOM.
Este laboratorio se proporciona únicamente con fines educativos. El creador no es responsable del mal uso de la información o las herramientas proporcionadas. Asegúrate siempre de tener la autorización adecuada antes de realizar cualquier prueba de seguridad.
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para obtener más detalles.