
preuve de concept CVE-2022-22965 pour le rapport CS4239
Preuve de concept pour CVE-2022-22965 (Spring4Shell) pour le rapport G410 de CS4239. Adapté de ce PoC pour démontrer le comportement non corrigé et corrigé.
Il y a 2 programmes d'exemple (dockerisés) dans ce dépôt avec un code source identique. L'un utilise une version vulnérable de Spring Boot tandis que l'autre utilise une version corrigée. Tomcat a également publié un correctif pour cette vulnérabilité, mais la même version vulnérable de Tomcat est utilisée pour cette démo afin d'isoler les effets du correctif Spring.
Pour lancer les applications de démonstration :
docker compose build
docker compose up
Pour exécuter l'exploit :
# vulnérable
python exploit.py --url "http://localhost:8080/helloworld/greeting"
# corrigé
python exploit.py --url "http://localhost:8081/helloworld/greeting"
Si l'exploit fonctionne, une nouvelle page qui permet d'exécuter des commandes sera présente. Exemple d'exécution de id :
http://localhost:8080/shell.jsp?cmd=id
L'exploit ne fonctionne pas pour la version corrigée – shell.jsp n'est pas injecté.