
Absichtlich verletzliche Spring-App zum Testen von CVE-2022-22965
Weitere Informationen: https://www.fracturelabs.com/posts/effective-spring4shell-scanning-exploitation/
Der folgende Code erstellt schnell ein anfälliges Docker-Image mit den folgenden Komponenten:
git clone https://github.com/fracturelabs/spring4shell_victim.git
cd spring4shell_victim
docker image build -t spring4shell_victim .
docker container run -it -p 8080:8080 --name spring4shell_victim --rm spring4shell_victim
Es sind zwei Routen definiert: /spring4shell_victim und /spring4shell_victim/vulnerable. Sie können diese verwenden, um zu überprüfen, ob Ihre Scantools ordnungsgemäß funktionieren. Die Standardroute (/) ist bewusst nicht anfällig, um Sie zum Nachdenken darüber anzuregen, wie Sie Ihre Scantools konfigurieren, um anfällige Endpunkte zu finden.
# Diese Route ist nicht anfällig
curl -is localhost:9000/spring4shell_victim/?class.module.classLoader.URLs%5b-1%5d
# Diese Route ist anfällig
curl -is localhost:9000/spring4shell_victim/vulnerable?class.module.classLoader.URLs%5b-1%5d

Sie können überprüfen, ob Ihr Code korrekt bereitgestellt wurde, indem Sie eine Shell im Container öffnen und im Verzeichnis /usr/local/tomcat/webapps/ nachsehen.
docker exec -it spring4shell_victim /bin/bash
HINWEIS: Der obige POC-Code verursacht lediglich einen Absturz, den Sie erkennen können (500-Fehler). Er lädt tatsächlich keinen Code hoch.