
Environnement de laboratoire conteneurisé pour simuler et exploiter une vulnérabilité XSS basée sur le DOM (CVE-2021-24891) dans le plugin WordPress Elementor pour une formation pratique en sécurité.
Un environnement de laboratoire pratique et conteneurisé pour simuler et exploiter une vulnérabilité de Cross-Site Scripting (XSS) basée sur le DOM dans le plugin WordPress Elementor Website Builder, identifiée comme CVE-2021-24891.
Ce laboratoire démontre une vulnérabilité de Cross-Site Scripting (XSS) basé sur le DOM dans le plugin Elementor pour WordPress (versions antérieures à 3.4.8). La vulnérabilité se produit parce que le code côté client de l'éditeur Elementor lit directement les données du hash de l'URL (#...) et les ajoute au Document Object Model (DOM) de la page sans assainissement approprié.
Un attaquant peut créer un lien malveillant contenant une charge utile JavaScript dans le fragment de hash. Lorsqu'un administrateur connecté (comme un éditeur de site) clique sur ce lien, le script malveillant s'exécute dans le contexte de sa session de navigateur, permettant potentiellement à l'attaquant d'effectuer des actions en son nom, de voler des cookies de session ou de défigurer le site Web.
#, qui est traitée côté client et n'est pas envoyée au serveur. C'est le point d'entrée de la charge utile malveillante.Ce dépôt contient une instance WordPress vulnérable avec le plugin Elementor affecté, prête à être exploitée. Le laboratoire peut être exécuté instantanément dans le cloud ou sur votre machine locale.
C'est le moyen le plus simple de commencer. Il fournit un environnement cloud préconfiguré dans votre navigateur.
Lancer Codespace : Cliquez sur le badge « Open in GitHub Codespaces » en haut de ce README.
Attendre la configuration : GitHub préparera votre environnement. Une fois terminé, un terminal apparaîtra.
Démarrer les services vulnérables : Dans le terminal de VS Code, exécutez la commande unique suivante :
docker compose up
Cela démarrera le site WordPress vulnérable et sa base de données. Vous verrez un onglet « Ports » apparaître. Cliquez sur le lien pour le port 8080 afin d'ouvrir WordPress dans un nouvel onglet du navigateur.
Exécutez l'intégralité du laboratoire sur votre propre machine avec Docker.
Prérequis :
Instructions :
Cloner le dépôt :
git clone https://github.com/hackmelocal/CVE-2021-24891-Simulation.git
cd CVE-2021-24891-Simulation
Démarrer les services vulnérables : Dans votre terminal, exécutez la commande :
docker compose up
Accéder à WordPress : Ouvrez votre navigateur web et accédez à http://localhost:8080.
Le code JavaScript de l'éditeur Elementor lit la valeur de window.location.hash et l'écrit de manière non sécurisée dans le DOM de la page. Comme l'entrée (<script>alert(...)</script>) n'est pas assainie, le navigateur l'interprète comme une balise de script valide et l'exécute. C'est un exemple classique de XSS basé sur le DOM.
Ce laboratoire est fourni à des fins éducatives uniquement. Le créateur n'est pas responsable de toute mauvaise utilisation des informations ou des outils fournis. Assurez-vous toujours d'avoir une autorisation appropriée avant d'effectuer tout test de sécurité.
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.