
Spring4Shell भेद्यता RCE - CVE-2022-22965
spring4shell भेद्यता का यह नाम 2022 की शुरुआत में पाए गए और हमलावरों द्वारा व्यापक रूप से शोषित दो भेद्यताओं के कारण रखा गया था। इनमें से एक भेद्यता 'Spring Cloud Functions' नामक फ्रेमवर्क घटक में है (कम गंभीर) और दूसरी अधिक गंभीर घटक फ्रेमवर्क के मूल में है जिसे 'Spring Core' कहा जाता है। इन दो गंभीर भेद्यताओं के साथ, इसने समुदाय से एक मजाक उत्पन्न किया जो 2021 में खोजी गई एक अन्य गंभीर भेद्यता Log4shell से संबंधित था।
Spring MVC की एक विशेषता यह है कि यह एंडपॉइंट पर भेजे गए पैरामीटर के आधार पर अनुरोध किए जाने पर स्वचालित रूप से एक निर्दिष्ट वर्ग की वस्तु को तुरंत और आबाद करता है। सरल शब्दों में, इसका दुरुपयोग मूल वर्ग के महत्वपूर्ण गुणों को अधिलेखित करने के लिए किया जा सकता है, जिसके परिणामस्वरूप दूरस्थ कोड निष्पादन होता है। Spring4Shell भेद्यता के अधिकांश शोषण वेबसर्वर पर एक दुर्भावनापूर्ण .jsp फ़ाइल लिखने के लिए एप्लिकेशन को मजबूर करके काम करते हैं। फिर इस वेबशेल को निष्पादित किया जा सकता है ताकि लक्ष्य पर दूरस्थ कमांड निष्पादन प्राप्त किया जा सके।
इस शोषण के होने के लिए, कारकों के एक क्रम का पालन करना आवश्यक है जो पर्यावरण को इस jsp फ़ाइल के आयात के लिए संवेदनशील बनाते हैं, वे हैं;
spring-webmvc और/या घटकों पर निर्भरता।spring-webfluxइस अन्वेषण के लिए, हम इस उद्देश्य के लिए पहले से बनाई गई एक स्क्रिप्ट का उपयोग करेंगे जिसका नाम poc.py है जो इसी रिपॉजिटरी से जुड़ी हुई है।
[!note]
इस पीओसी के लिए स्क्रिप्ट (poc.py) इसी रिपॉजिटरी में उपलब्ध है, इसे ऊपर देखें।
हमेशा उपलब्ध होने पर स्क्रिप्ट सहायता का उपयोग करें, यह समझने में स्पष्ट होगा।
इस हमले के लिए सर्वर पर फ़ाइल संचारित करने में सक्षम होने के लिए एक http पोस्ट विधि की आवश्यकता होती है। हम हमले के लिए जिस सर्वर का उपयोग कर रहे हैं, उस पर एक POST है जिसे हम पेज के व्यू-सोर्स में पा सकते हैं।
यह एक सरल पृष्ठ है जहां अधिसूचना के लिए एक ईमेल पंजीकृत किया जाता है।
व्यू-सोर्स में हमें इस फॉर्म का पोस्ट मिला जिसकी कार्रवाई / के लिए है।
आइए इस वेबसर्वर का पता लगाने के लिए अपनी स्क्रिप्ट का उपयोग करें। याद रखें कि हमें POST क्रिया में हमले को निष्पादित करने की आवश्यकता है, इस मामले में, रूट / में।
वेबशेल सफलतापूर्वक भेजा गया है! आइए अन्वेषण की पुष्टि करने के लिए स्क्रिप्ट द्वारा उत्पन्न लिंक तक पहुंचें।
हो गया! हम वेबसर्वर पर एक वेबशेल भेजकर भेद्यता का शोषण करने में सक्षम थे।
Spring4Shell को ठीक करने के लिए, सुनिश्चित करें कि आप माइनर रिलीज़ 5.3 के पैच 18 के बाद जारी Spring के संस्करण का उपयोग कर रहे हैं (अर्थात 5.3.18 के बाद), या यदि माइनर रिलीज़ 5.2 का उपयोग कर रहे हैं तो पैच 20 के बाद (अर्थात 5.2.20 के बाद)। फ्रेमवर्क के संस्करण को अपग्रेड करना आपके अनुप्रयोगों से भेद्यता को दूर करने के लिए पर्याप्त है।