
एक जावा एप्लिकेशन जो जानबूझकर CVE-2021-44228 के लिए असुरक्षित है।
यह रिपॉजिटरी एक Java एप्लिकेशन को समाहित करती है जो CVE-2021-44228 के लिए जानबूझकर असुरक्षित है, जिसे बोलचाल की भाषा में log4shell के रूप में जाना जाता है।
log4stdin वस्तुतः एक stdin-रीडर के अलावा कुछ नहीं है, जिसका इनपुट एक असुरक्षित log4j इंस्टेंस में फीड किया जाता है। बिल्ड log4stdin.jar Maven आर्टिफैक्ट log4j-api 2.14.1 और log4j-core 2.14.1 का उपयोग करता है, और यह एक लॉगिंग पैटर्न का उपयोग करता है जो लॉगिंग स्तर और टाइमस्टैम्प विवरण को छोड़ देता है। यह संस्करण गारंटीड वल्नरेबल™️ है।
versions/ फ़ोल्डर में डिफ़ॉल्ट लॉगिंग पैटर्न और log4j संस्करण 2.0-beta9 से 2.20.0 का उपयोग करने वाले बिल्ड पाए जा सकते हैं।
इनपुट के लिए Unix पाइप का उपयोग करें। उदाहरण के लिए, लॉग प्रविष्टियों को इंजेक्टेबिलिटी ट्रीटमेंट के अधीन करने के लिए, चलाएँ
cat output.log | java -jar log4stdin.jar
वैकल्पिक रूप से, रियल टाइम लॉग रीडिंग के लिए, चलाएँ
tail -f output.log | java -jar log4stdin.jar
log4stdin stdin में जो कुछ भी फीड किया जाता है उसे प्रिंट करता है लेकिन उपयोगकर्ता इनपुट को संभालने के लिए कुछ नहीं करता है। इसलिए यह लॉग फ़ाइलों को पढ़ने के लिए उपयुक्त है, जैसा कि ऊपर उदाहरण दिया गया है, या उस सॉफ़्टवेयर के साथ उपयोग किया जाना है जिसमें उपयोगकर्ता की बातचीत की आवश्यकता नहीं है।
इस रिपॉजिटरी की सामग्री को AV द्वारा या तो संक्रमित फ़ाइलों या दुर्भावनापूर्ण कमांड जारी करने के प्रयासों के रूप में वर्गीकृत किया जाना निश्चित है। रिपॉजिटरी को क्लोन करने से पहले लक्ष्य फ़ोल्डर को AV स्कैनिंग से बाहर करना एक अच्छा विचार हो सकता है। नेटवर्क कनेक्शन के बिना वर्चुअल एनवायरनमेंट में इसे आज़माना और भी बेहतर विचार हो सकता है।
सबसे पहले, इसका उपयोग व्यावहारिक रूप से कहीं भी JNDI इंजेक्शन पॉइंट होने के परिणाम का पता लगाने के लिए किया जा सकता है, बिना किसी मौजूदा सॉफ़्टवेयर को फ़ोर्क करने की आवश्यकता के। यह सुरक्षा विधियों पर शोध या परीक्षण में उपयोगी हो सकता है।
दूसरे, यह मूल रूप से cybersec का "Hello World" है, जो भेद्यता की सादगी और गंभीरता दोनों को रेखांकित करने के लिए लिखा गया है।
तीसरे, इसका उपयोग यह परीक्षण करने के लिए किया जा सकता है कि क्या कोई AV समाधान CVE-2021-44228 का शोषण करने वाले सॉफ़्टवेयर का पता लगाने में सक्षम है। उदाहरण के लिए, log4stdin.java या log4stdin.jar को Generic.Zojfor.G के रूप में फ़्लैग किया जा सकता है।
वैसे भी, आप इसका उपयोग जिस भी उद्देश्य के लिए करने का निर्णय लेते हैं, यह आपको किसी भी परिणाम के लिए जवाबदेह बनाता है।
MIT लाइसेंस। LICENSE.md में और पढ़ें।
हालांकि ऐसा नहीं है कि इसमें बहुत अधिक मेहनत करनी पड़ी हो, और आप अपनी इच्छा से इस चीज़ को पुन: प्रस्तुत करने के लिए स्वतंत्र हैं, और कोई भी आपका पीछा करने नहीं आएगा।
Copyright 1999–2023 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.