
CVE-2022-22965 Proof of Concept für den CS4239-Bericht
Proof of Concept für CVE-2022-22965 (Spring4Shell) für den CS4239 G410-Bericht. Angepasst von diesem PoC, um ungepatchtes und gepatchtes Verhalten zu demonstrieren.
In diesem Repository gibt es zwei Beispielprogramme (dockerisiert) mit identischem Quellcode. Eines verwendet eine anfällige Version von Spring Boot, während das andere eine gepatchte Version verwendet. Tomcat hat ebenfalls einen Patch für diese Sicherheitslücke veröffentlicht, aber für diese Demo wird dieselbe anfällige Tomcat-Version verwendet, um die Auswirkungen des Spring-Patches zu isolieren.
So starten Sie die Demo-Apps:
docker compose build
docker compose up
So führen Sie den Exploit aus:
# anfällig
python exploit.py --url "http://localhost:8080/helloworld/greeting"
# gepatcht
python exploit.py --url "http://localhost:8081/helloworld/greeting"
Wenn der Exploit funktioniert, wird eine neue Seite angezeigt, auf der wir Befehle ausführen können. Beispiel für die Ausführung von id:
http://localhost:8080/shell.jsp?cmd=id
Exploit funktioniert nicht für die gepatchte Version – shell.jsp wird nicht injiziert.