
CVE-2023-50164 (Apache Struts 2) के लिए शैक्षिक एक्सप्लॉइट जो दुर्भावनापूर्ण फ़ाइल अपलोड के माध्यम से पाथ ट्रैवर्सल और रिमोट कोड निष्पादन का प्रदर्शन करता है, HackTheBox लैब वातावरण के लिए डिज़ाइन किया गया है।
यह exploit विशेष रूप से HackTheBox की Strutted प्रयोगशाला के लिए विकसित किया गया था, जिसका उद्देश्य Apache Struts 2 में CVE-2023-50164 भेद्यता का शोषण करना है। यह दोष फ़ाइल अपलोड पैरामीटरों के प्रसंस्करण में एक त्रुटि के माध्यम से path traversal की अनुमति देता है। यह exploit यह प्रदर्शित करने के उद्देश्य से बनाया गया था कि एक हमलावर दुर्भावनापूर्ण फ़ाइल अपलोड कैसे कर सकता है और दूरस्थ कोड निष्पादन (RCE) प्राप्त कर सकता है।
यह exploit विशेष रूप से HackTheBox के नियंत्रित वातावरण के भीतर शैक्षिक उद्देश्यों के लिए विकसित किया गया था और बिना स्पष्ट अनुमति के वास्तविक सिस्टम पर उपयोग नहीं किया जाना चाहिए। सहमति के बिना भेद्यता का शोषण करना अवैध और अनैतिक है।
इस exploit का उद्देश्य यह प्रदर्शित करना है कि Apache Struts 2 में दोष, विशेष रूप से फ़ाइल अपलोड एंडपॉइंट पर, का उपयोग कैसे किया जा सकता है:
CVE-2023-50164 भेद्यता फ़ाइल अपलोड पैरामीटरों के गलत प्रसंस्करण से जुड़ी है, जिससे एक हमलावर करने के लिए भेजी गई फ़ाइल के नाम में हेरफेर कर सकता है।
HTTP पैरामीटर में हेरफेर: यह exploit HTTP पैरामीटरों में डायरेक्टरी ट्रैवर्सल वर्णों (../) को शामिल करने के लिए उन्हें संशोधित करता है, जिससे एक दुर्भावनापूर्ण फ़ाइल को एक अनधिकृत फ़ोल्डर में अपलोड किया जा सकता है।
दुर्भावनापूर्ण फ़ाइल भेजना: यह exploit /upload.action एंडपॉइंट पर POST विधि का उपयोग करके एक दुर्भावनापूर्ण फ़ाइल भेजता है, जो HTTP पैरामीटरों की केस संवेदनशीलता की खामी का फायदा उठाता है।
दूरस्थ कोड निष्पादन: हमलावर दुर्भावनापूर्ण कोड डाल सकता है जो अपलोड के बाद सर्वर पर निष्पादित हो जाएगा।
नीचे एक HTTP अनुरोध का उदाहरण दिया गया है जिसका उपयोग भेद्यता का शोषण करने के लिए किया जा सकता है:
POST /upload.action HTTP/1.1
Host: vulnerable-server.com
Content-Type: multipart/form-data; boundary=------------------------abcdef
--------------------------abcdef
Content-Disposition: form-data; name="Upload"; filename="img.png"
Content-Type: application/octet-stream
PNG
--------------------------abcdef
Content-Disposition: form-data;
Content-Type: application/octet-stream
../../shell.jsp
--------------------------abcdef--