Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
spring4shell-local-verification-lab — Spring Framework CVE-2022-22965 स्थानीय प्रभाव स्थिति सत्यापन, संस्करण उन्नयन सुधार और पुनः परीक्षण परियोजना | Kitploit
उपकरण/GitHubGitHub/meng-security/spring4shell-local-verification-lab
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब सुरक्षालर्निंग और शिक्षालैब और अभ्यास
GitHubmeng-security/spring4shell-local-verification-lab

spring4shell-local-verification-lab

Spring Framework CVE-2022-22965 स्थानीय प्रभाव स्थिति सत्यापन, संस्करण उन्नयन सुधार और पुनः परीक्षण परियोजना

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

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

सभी देखें →

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

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

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

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

Spring4Shell स्थानीय प्रभाव स्थितियाँ सत्यापन, समाधान और पुनः परीक्षण परियोजना

परियोजना परिचय

यह परियोजना Spring Framework CVE-2022-22965, जिसे Spring4Shell के नाम से भी जाना जाता है, के प्रभाव की स्थितियों, जोखिम प्रकटीकरण, समाधान विधियों और समाधान के बाद पुनः परीक्षण प्रक्रिया को सीखने और सत्यापित करने के लिए है।

परियोजना व्यक्तिगत रूप से स्थापित स्थानीय अधिकृत वातावरण में पूरी की गई है। परियोजना का मुख्य बिंदु वास्तविक लक्ष्यों पर हमला करना नहीं है, बल्कि समाधान से पहले और समाधान के बाद Spring MVC परीक्षण वातावरण स्थापित करके, भेद्यता से संबंधित प्रभाव स्थितियों की एक-एक करके पुष्टि करना है, और सुरक्षित, नियंत्रित केवल-पढ़ने के तरीके से Spring डेटा बाइंडिंग के आंतरिक गुण पथों में संस्करण उन्नयन से पहले और बाद के अंतरों का निरीक्षण करना है।

इस परियोजना ने निम्नलिखित प्रक्रियाएँ पूरी की हैं:

  • JDK, Maven और Apache Tomcat वातावरण तैयार करना
  • Spring MVC WAR परियोजना स्थापित करना
  • सामान्य कार्यक्षमता आधारभूत सत्यापन
  • भेद्यता प्रभाव स्थितियों की पुष्टि
  • आंतरिक गुण पथ केवल-पढ़ने का निदान
  • भेद्यता कारण विश्लेषण
  • Spring Framework संस्करण उन्नयन
  • समाधान के बाद सुरक्षा पुनः परीक्षण
  • समाधान के बाद सामान्य कार्यक्षमता पुनः परीक्षण
  • परीक्षण रिपोर्ट और स्क्रीनशॉट साक्ष्य संकलन

सुरक्षा घोषणा

यह परियोजना केवल व्यक्तिगत स्थानीय स्व-निर्मित वातावरण या स्पष्ट रूप से अधिकृत सुरक्षा परीक्षण वातावरण के लिए है।

परियोजना किसी भी सार्वजनिक वेबसाइट, सर्वर या तृतीय-पक्ष व्यावसायिक प्रणाली को स्कैन, पता लगाने या शोषण के लिए लक्षित नहीं करती है, और इसमें वास्तविक उपयोगकर्ता डेटा या वास्तविक व्यावसायिक डेटा शामिल नहीं है।

परीक्षण प्रक्रिया के दौरान निम्नलिखित कार्य नहीं किए गए:

  • WebShell नहीं लिखा गया
  • सिस्टम कमांड निष्पादित नहीं किया गया
  • Tomcat कॉन्फ़िगरेशन संशोधित नहीं किया गया
  • रिवर्स शेल स्थापित नहीं किया गया
  • स्थायी नियंत्रण स्थापित नहीं किया गया
  • किसी बाहरी सिस्टम पर कोई प्रभाव नहीं डाला गया

इस परियोजना में परीक्षण विधियों का उपयोग किसी भी अनधिकृत लक्ष्य के लिए निषिद्ध है।

भेद्यता पृष्ठभूमि

CVE-2022-22965 को आमतौर पर Spring4Shell के रूप में जाना जाता है, यह Spring Framework में अनुरोध पैरामीटर डेटा बाइंडिंग तंत्र से संबंधित एक रिमोट कोड निष्पादन भेद्यता है।

Spring MVC HTTP अनुरोध पैरामीटर को Java ऑब्जेक्ट गुणों में स्वचालित रूप से बाइंड करने का समर्थन करता है। उदाहरण के लिए, यह परियोजना निम्नलिखित तरीके से नाम और ईमेल पैरामीटर प्राप्त करती है:

@ModelAttribute("profile") UserProfile profile

सामान्य रूप से, अनुरोध पैरामीटर name और email गुण नामों के अनुसार UserProfile ऑब्जेक्ट में बाइंड हो जाएंगे।

प्रभावित संस्करणों में, कुछ आंतरिक गुण पथों तक पहुँच पर प्रतिबंध पर्याप्त रूप से सख्त नहीं हैं। JDK 9 या उच्चतर संस्करण का उपयोग करते समय, और विशिष्ट Servlet कंटेनर, तैनाती विधि और डेटा बाइंडिंग स्थितियों को पूरा करने पर, बाहरी अनुरोध पैरामीटर सामान्य व्यावसायिक ऑब्जेक्ट से Java Class, मॉड्यूल, क्लास लोडर या कंटेनर से संबंधित आंतरिक ऑब्जेक्ट्स तक पहुँच सकते हैं।

विशिष्ट शोषण-योग्य वातावरण में, हमलावर आगे सर्वर कॉन्फ़िगरेशन को संशोधित कर सकता है या सर्वर फ़ाइलें लिख सकता है, जिससे रिमोट कोड निष्पादन का जोखिम पैदा होता है।

यह परियोजना पूर्ण रिमोट कोड शोषण नहीं करती है, बल्कि सुरक्षित, केवल-पढ़ने के अंतर निदान के लिए निम्नलिखित गुण पथ का उपयोग करती है:

class.module.name

परियोजना उद्देश्य

  1. Spring MVC अनुरोध पैरामीटर डेटा बाइंडिंग की मूल प्रक्रिया को समझना।
  2. स्थानीय Spring MVC WAR परीक्षण परियोजना स्थापित करना।
  3. सामान्य व्यावसायिक कार्यक्षमता आधारभूत सत्यापन पूरा करना।
  4. Spring Framework, JDK, Tomcat, WAR तैनाती और डेटा बाइंडिंग प्रवेश जैसी प्रभाव स्थितियों की पुष्टि करना।
  5. केवल-पढ़ने के तरीके से आंतरिक गुण पथों तक पहुँच के प्रदर्शन का निरीक्षण करना।
  6. भेद्यता के मुख्य कारण का विश्लेषण करना।
  7. Spring Framework को समाधान संस्करण में उन्नयन करना।
  8. समान विधि का उपयोग करके समाधान के बाद पुनः परीक्षण पूरा करना।
  9. पुष्टि करना कि संस्करण उन्नयन ने सामान्य व्यावसायिक कार्यक्षमता को प्रभावित नहीं किया है।
  10. परियोजना स्रोत कोड, परीक्षण रिपोर्ट और स्क्रीनशॉट साक्ष्य संकलित करना।

प्रयोगात्मक वातावरण

यह परियोजना व्यक्तिगत स्थानीय VMware पृथक प्रयोगात्मक वातावरण में पूरी की गई है।

  • होस्ट मशीन: Windows 11
  • लक्ष्य मशीन: Windows 10 वर्चुअल मशीन
  • वर्चुअलाइजेशन सॉफ्टवेयर: VMware Workstation
  • Java वातावरण: Eclipse Temurin JDK 11.0.31
  • परियोजना निर्माण उपकरण: Apache Maven 3.9.16
  • Servlet कंटेनर: Apache Tomcat 9.0.60
  • समाधान से पहले Spring Framework संस्करण: 5.3.17
  • समाधान के बाद Spring Framework संस्करण: 5.3.18
  • Web फ्रेमवर्क: Spring MVC
  • परियोजना तैनाती विधि: पारंपरिक WAR पैकेज तैनाती
  • परीक्षण पता: 127.0.0.1

सामान्य कार्यक्षमता परीक्षण डेटा:

  • नाम: Alice
  • ईमेल: [email protected]

सुरक्षा निदान गुण पथ:

class.module.name

परियोजना संरचना

spring4shell-local-verification-lab/

  • README.md: परियोजना परिचय, परीक्षण विचार, सत्यापन परिणाम और समाधान स्पष्टीकरण
  • docs/: Spring4Shell स्थानीय प्रभाव स्थितियाँ सत्यापन, समाधान और पुनः परीक्षण रिपोर्ट
  • images/: परियोजना वातावरण, परीक्षण प्रक्रिया और पुनः परीक्षण स्क्रीनशॉट
  • vulnerable-demo/: Spring Framework 5.3.17 का उपयोग करने वाली समाधान-पूर्व परियोजना
  • fixed-demo/: Spring Framework 5.3.18 का उपयोग करने वाली समाधान-पश्चात परियोजना
  • notes/: अध्ययन नोट्स और प्रक्रिया रिकॉर्ड

मुख्य स्रोत कोड संरचना:

  • config/: Spring MVC कॉन्फ़िगरेशन क्लास और एप्लिकेशन इनिशियलाइज़ेशन क्लास
  • controller/: फॉर्म प्रोसेसिंग और गुण पथ निदान नियंत्रक
  • model/: नाम और ईमेल पैरामीटर प्राप्त करने के लिए UserProfile क्लास
  • WEB-INF/views/: होम पेज, सबमिट परिणाम और निदान परिणाम JSP पेज

परीक्षण परियोजना विवरण

इस परियोजना ने क्रमशः समाधान-पूर्व और समाधान-पश्चात दो Spring MVC एप्लिकेशन स्थापित किए हैं।

समाधान-पूर्व परियोजना

परियोजना निर्देशिका:

vulnerable-demo

उपयोग किया गया संस्करण:

Spring Framework 5.3.17

उत्पन्न WAR फ़ाइल:

spring4shell-vulnerable-demo.war

पहुँच पता:

http://127.0.0.1:8080/spring4shell-vulnerable-demo/

निदान पृष्ठ:

http://127.0.0.1:8080/spring4shell-vulnerable-demo/binding-probe

समाधान-पश्चात परियोजना

परियोजना निर्देशिका:

fixed-demo

उपयोग किया गया संस्करण:

Spring Framework 5.3.18

उत्पन्न WAR फ़ाइल:

spring4shell-fixed-demo.war

पहुँच पता:

http://127.0.0.1:8080/spring4shell-fixed-demo/

निदान पृष्ठ:

http://127.0.0.1:8080/spring4shell-fixed-demo/binding-probe

सामान्य कार्यक्षमता विवरण

परीक्षण परियोजना एक सरल उपयोगकर्ता प्रोफ़ाइल फॉर्म प्रदान करती है, जिसमें शामिल है:

  • नाम इनपुट बॉक्स
  • ईमेल इनपुट बॉक्स
  • प्रोफ़ाइल सबमिट बटन

नियंत्रक निम्नलिखित तरीके से अनुरोध पैरामीटर प्राप्त करता है:

@ModelAttribute("profile") UserProfile profile

जब उपयोगकर्ता नाम और ईमेल सबमिट करता है, तो Spring MVC name और email पैरामीटर को स्वचालित रूप से UserProfile ऑब्जेक्ट में बाइंड कर देता है।

परिणाम पृष्ठ बाइंड किए गए ऑब्जेक्ट को पढ़ता है और उपयोगकर्ता द्वारा सबमिट किया गया नाम और ईमेल प्रदर्शित करता है।

इस कार्यक्षमता का उपयोग यह पुष्टि करने के लिए किया जाता है कि परियोजना सामान्य रूप से चल सकती है, साथ ही यह साबित करने के लिए कि एप्लिकेशन में एक वैध Spring MVC अनुरोध पैरामीटर डेटा बाइंडिंग प्रवेश बिंदु मौजूद है।

परीक्षण विचार

यह परियोजना "पहले सामान्य कार्यक्षमता की पुष्टि करें, फिर प्रभाव स्थितियों की पुष्टि करें, उसके बाद केवल-पढ़ने के जोखिम निदान करें, और अंत में समाधान और पुनः परीक्षण करें" के विचार का पालन करती है।

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