
common-user-management एक मजबूत Spring Boot एप्लिकेशन है जिसमें उपयोगकर्ता प्रबंधन सेवाएँ शामिल हैं जो गतिशील रूप से उपयोगकर्ता पहुँच को नियंत्रित करने के लिए डिज़ाइन की गई हैं। एप्लिकेशन एंडपॉइंट /api/v1/customer/profile-picture में एक गंभीर सुरक्षा भेद्यता है। यह एंडपॉइंट बिना उचित सत्यापन या प्रतिबंधों के फ़ाइल अपलोड की अनुमति देता है, जो (RCE) की ओर ले जाता है।
मैंने common-user-management में एक गंभीर सुरक्षा भेद्यता की खोज की, जो एक मजबूत स्प्रिंग बूट एप्लिकेशन है जिसमें उपयोगकर्ता प्रबंधन सेवाएं हैं जो उपयोगकर्ता पहुंच को गतिशील रूप से नियंत्रित करने के लिए डिज़ाइन की गई हैं। यह भेद्यता /api/v1/customer/profile-picture एंडपॉइंट को प्रभावित करती है, जिससे हमलावर उचित सत्यापन के बिना फ़ाइलें अपलोड कर सकते हैं, जो रिमोट कोड निष्पादन (RCE) का कारण बन सकता है।
आप निम्नलिखित Python स्क्रिप्ट का उपयोग करके इस भेद्यता का शोषण कर सकते हैं:
python exploit.py -u "customer_user" -p "your_password" -f "malicious.jsp" -url "https://target.com"
-u: उपयोगकर्ता नाम
-p: पासवर्ड
-f: अपलोड करने के लिए दुर्भावनापूर्ण फ़ाइल
-url: लक्ष्य URL
एंडपॉइंट /api/v1/customer/profile-picture में एक गंभीर सुरक्षा भेद्यता है। यह एंडपॉइंट उचित सत्यापन या प्रतिबंधों के बिना फ़ाइल अपलोड की अनुमति देता है, जिससे हमलावर दुर्भावनापूर्ण फ़ाइलें अपलोड कर सकते हैं जो रिमोट कोड निष्पादन (RCE) का कारण बन सकती हैं। भेद्यता विवरण
समस्या फ़ाइल एक्सटेंशन और Content-Type हेडर पर सत्यापन की कमी से उत्पन्न होती है। परिणामस्वरूप, एप्लिकेशन मनमानी फ़ाइलों को अपलोड करने की अनुमति देता है, जिनमें शामिल हैं:
HTML फ़ाइलें (परीक्षण किया गया) सर्वर-साइड स्क्रिप्ट फ़ाइलें (जैसे, JSP, PHP, ASP, आदि)
इन फ़ाइलों को तब वेब सर्वर द्वारा निष्पादित किया जा सकता है, जिससे हमलावर सर्वर पर मनमाना कोड निष्पादित कर सकते हैं, संभावित रूप से पूरे सिस्टम से समझौता कर सकते हैं।
दुर्भावनापूर्ण फ़ाइल अपलोड करें: ग्राहक (जिसमें भूमिका 26,17 जोड़ी गई है) का उपयोग करके /api/v1/customer/profile-picture पर PUT अनुरोध भेजें, जिसमें एक दुर्भावनापूर्ण फ़ाइल पेलोड (जैसे, .jsp, .php, .html) हो।
फ़ाइल स्थान प्राप्त करें: GET अनुरोध /api/v1/customer/my-profile भेजें, प्रतिक्रिया में प्रोफ़ाइल के लिंक के साथ फ़ाइल का स्थान प्राप्त करें।
अपलोड की गई फ़ाइल को निष्पादित करें: फ़ाइल नाम का उपयोग करके प्रतिक्रिया में लौटाए गए URL के माध्यम से सीधे फ़ाइल तक पहुंचें। यदि सर्वर अपलोड की गई फ़ाइल प्रकार का समर्थन करता है, तो वह फ़ाइल को निष्पादित करेगा, जिससे रिमोट कोड निष्पादन होगा।