
जावा एप्लिकेशन जो CVE-2021-44228 (उर्फ log4shell) भेद्यता के प्रति संवेदनशील है
यह डेमो एप्लिकेशन CVE-2021-44228 के प्रति संवेदनशील है, जिसे Log4Shell के नाम से भी जाना जाता है। उदाहरण के लिए, इसका उपयोग किसी डिटेक्शन या रेमेडिएशन स्क्रिप्ट को मान्य करने के लिए किया जा सकता है।
एप्लिकेशन बनाएं:
mvn clean package
या, वैकल्पिक रूप से, पूर्व-निर्मित JAR डाउनलोड करें।
एप्लिकेशन चलाएं (यदि आपने इसे स्थानीय रूप से बनाया है तो target उपनिर्देशिका में):
java -Dlog4shell.all -jar log4shell-honeypot-capsule.jar
एप्लिकेशन डिफ़ॉल्ट रूप से संवेदनशील नहीं है। आपको कमजोरियों को सक्षम करने के लिए
log4shell.allसिस्टम प्रॉपर्टी सेट करनी होगी (या आप कमजोरी-विशिष्ट विकल्पों का उपयोग कर सकते हैं, नीचे देखें)।
log4shell.userAgent सिस्टम प्रॉपर्टी सेट करें ताकि HTTP हेडर लॉग हो सके।User-Agentlog4shell.authorization सिस्टम प्रॉपर्टी सेट करें ताकि Authorization HTTP हेडर लॉग हो सके।log4shell.basicAuth सिस्टम प्रॉपर्टी सेट करें ताकि बेसिक ऑथेंटिकेशन से डिकोड किया गया उपयोगकर्ता/पासवर्ड जोड़ा लॉग हो सके।log4shell.urlPath सिस्टम प्रॉपर्टी सेट करें ताकि URL पथ लॉग हो सके।log4shell.urlQuery सिस्टम प्रॉपर्टी सेट करें ताकि URL क्वेरी स्ट्रिंग लॉग हो सके।log4shell.all सिस्टम प्रॉपर्टी सेट करें ताकि उपरोक्त सभी लॉग हो सकें।एक खाली प्रॉपर्टी मान पर्याप्त है।
एप्लिकेशन पर बेसिक ऑथेंटिकेशन सक्षम करने के लिए, basicAuth कॉन्फ़िगरेशन प्रोफ़ाइल सक्रिय करें:
java -Dseedstack.profiles=basicAuth -Dlog4shell.all -jar target/log4shell-honeypot-capsule.jar
demo हैdemo हैजब बेसिक ऑथेंटिकेशन सक्षम होता है, तो एप्लिकेशन उपयोगकर्ता/पासवर्ड इंजेक्शन के प्रति संवेदनशील नहीं हो सकता।
उपरोक्त विकल्पों के अनुसार किसी भी पथ पर दुर्भावनापूर्ण पेलोड के साथ GET या POST अनुरोध करें:
User-agent हेडर के साथ उदाहरण:
curl http://localhost:8080 -A "<malicious-user-agent>"
एप्लिकेशन /test पर 302 जारी करेगा जिसमें कमजोरी मौजूद है।