
Ce dépôt a pour but de démontrer et de pratiquer mes compétences en analyse forensique/de vulnérabilités en reproduisant une CVE liée au web dans un environnement sûr.
Ce dépôt simule la reproduction d'une CVE liée au web (CVE-2025-1489) dans un environnement sûr afin de démontrer et de pratiquer mes compétences en analyse forensique/vulnérabilités.
La vulnérabilité identifiée et reproduite est une vulnérabilité de cross-site scripting stocké (XSS) dans le plugin WordPress WP-Appbox (version 4.5.4). Le défaut permet à une entrée contrôlée par l'attaquant, placée dans le shortcode Appbox d'un article, d'être rendue dans la sortie de la page en raison d'une validation des entrées et d'un échappement des sorties insuffisants sur les attributs échappés par l'utilisateur, permettant ainsi l'exécution de scripts malveillants via des contextes d'attributs. La vulnérabilité est corrigée dans les versions ultérieures de WP-Appbox (version 4.5.5+).
Le plugin expose un shortcode [appbox ...] qui accepte un identifiant d'application appID et des attributs de shortcode fournis par l'utilisateur, lesquels ne sont pas correctement validés ni échappés au point d'entrée du plugin.
Dans le fichier source createoutput.class.php, certaines parties des données du shortcode sont insérées dans des attributs HTML ou des styles en ligne, ce qui permet une injection dans un contexte d'attributs (lignes 199 et 438-447). En concevant un appID qui force une image d'arrière-plan, j'ai pu confirmer des requêtes GET sortantes répétables vers un serveur attaquant, ce qui constitue des indicateurs clairs de XSS stocké côté serveur.
Composants :
├── attacker/
│ ├── server.py # Serveur HTTP attaquant pour servir et journaliser les requêtes
│ └── requests.log # Journalise les requêtes entrantes vers le serveur attaquant depuis le navigateur WordPress
├── README.md # Vue d'ensemble principale et instructions de reproduction
├── docker-compose.yml # Paramètres de configuration Docker
└── full_report.pdf # Rapport complet incluant analyse, mesures d'atténuation, conclusions et portée de l'impact
Configuration :
Prérequis : Docker Desktop et svn installés sur votre hôte.
Étapes :
svn pour récupérer le tag 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
Configuration de WordPress :
localhost:8000 pour accéder à WordPress et créer un utilisateur AdminSe connecter avec l'utilisateur attaquant et naviguer vers Articles > Ajouter > utiliser le bloc Shortcode pour créer une charge utile malveillante afin d'exploiter la vulnérabilité de XSS stocké.