
Log4j2 भेद्यता का मूल्यांकन करने के लिए डेमो प्रोजेक्ट | CVE-2021-44228
इस रिपॉजिटरी में Log4j2 समस्या CVE-2021-44228 का मूल्यांकन करने के लिए कोड मौजूद है।
क्वेरी पैरामीटर के रूप में ${jndi:ldap://127.0.0.1:3089/} के साथ GET अनुरोध भेजें।
http://localhost:10000/test?userParam=%24%7Bjndi%3Aldap%3A%2F%2F127.0.0.1%3A3089%2F%7D
जब उपरोक्त अनुरोध भेजा जाता है, तो एप्लिकेशन ldap url से कनेक्ट करने का प्रयास करता है और निम्नलिखित त्रुटि प्रिंट होती है क्योंकि वह मेरी मशीन पर नहीं चल रहा है।
2021-12-14 09:10:25,055 http-nio-10000-exec-1 WARN Error looking up JNDI resource [ldap://127.0.0.1:3089/]. javax.naming.CommunicationException: 127.0.0.1:3089 [Root exception is java.net.ConnectException: Connection refused (Connection refused)]
at java.naming/com.sun.jndi.ldap.Connection.<init>(Connection.java:237)
at java.naming/com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:137)
at java.naming/com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1610)
at java.naming/com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2752)
at java.naming/com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:320)
at java.naming/com.sun.jndi.url.ldap.ldapURLContextFactory.getUsingURLIgnoreRootDN(ldapURLContextFactory.java:60)
at java.naming/com.sun.jndi.url.ldap.ldapURLContext.getRootURLContext(ldapURLContext.java:61)
at java.naming/com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:204)
at java.naming/com.sun.jndi.url.ldap.ldapURLContext.lookup(ldapURLContext.java:94)
at java.naming/javax.naming.InitialContext.lookup(InitialContext.java:409)
at org.apache.logging.log4j.core.net.JndiManager.lookup(JndiManager.java:172)
at org.apache.logging.log4j.core.lookup.JndiLookup.lookup(JndiLookup.java:56)
at org.apache.logging.log4j.core.lookup.Interpolator.lookup(Interpolator.java:221)
यदि log4j-core संस्करण >=2.10 है, तो निम्नलिखित JVM पैरामीटर जोड़कर इस JNDI lookup को अक्षम किया जा सकता है।
-Dlog4j2.formatMsgNoLookups=true
हम लॉग संदेश पैटर्न में {nolookups} के साथ log4j2.xml फ़ाइल को अपडेट कर सकते हैं। इस समाधान के लिए ब्रांच update-log4j2-config देखें।
2.15.0 में अपडेट करें। ब्रांच update-log4j-to-2.15.0 में समाधान देखें।