
Magento Shoplift Exploit (SUPEE-5344) - CVE-2015-1397
अवलोकन
यह स्क्रिप्ट Magento में CVE-2015-1397 भेद्यता का शोषण करती है, जिसे आमतौर पर Magento Shoplift एक्सप्लॉइट के रूप में जाना जाता है। यह एक हमलावर को SQL पेलोड इंजेक्ट करके Magento डेटाबेस में एक नया एडमिन उपयोगकर्ता बनाने की अनुमति देता है।
मूल रूप से Manish Kishan Tanwar (error1046) द्वारा Python में लिखा गया था, इस संस्करण को Divine Clown (0xDTC) द्वारा क्रेडेंशियल्स के लिए उपयोगकर्ता-अनुकूल इनपुट प्रॉम्प्ट के साथ Bash में परिवर्तित किया गया है।
विशेषताएँ
- क्रेडेंशियल प्रॉम्प्ट: लक्ष्य URL, एडमिन उपयोगकर्ता नाम और पासवर्ड के लिए गतिशील रूप से संकेत देता है।
- त्रुटि प्रबंधन: अमान्य इनपुट, असफल नेटवर्क अनुरोध और अप्रत्याशित सर्वर प्रतिक्रियाओं के लिए विस्तृत त्रुटि संदेश प्रदान करता है।
- Base64 एन्कोडिंग: Magento की प्रोसेसिंग के लिए पेलोड को गतिशील रूप से एन्कोड करता है।
- सरलीकृत उपयोगकर्ता अनुभव: मैनुअल पेलोड एन्कोडिंग या स्थिर इनपुट की आवश्यकता को समाप्त करता है।
पूर्वापेक्षाएँ
- लक्ष्य: Magento इंस्टॉलेशन CVE-2015-1397 के लिए कमजोर होना चाहिए।
- वातावरण:
bash, curl, और base64 उपयोगिताओं के साथ Linux।
उपयोग
- रिपॉजिटरी को क्लोन करें या स्क्रिप्ट को अपने स्थानीय सिस्टम पर कॉपी करें।
- स्क्रिप्ट को निष्पादन योग्य बनाएं:
chmod +x CVE-2015-1397
- स्क्रिप्ट चलाएं:
./CVE-2015-1397
- प्रॉम्प्ट का पालन करें:
- लक्ष्य URL दर्ज करें (उदा.,
http://target.com/)।
- नया एडमिन उपयोगकर्ता नाम दर्ज करें।
- नया एडमिन पासवर्ड दर्ज करें।
- यदि सफल होता है, तो स्क्रिप्ट नवनिर्मित एडमिन क्रेडेंशियल्स आउटपुट करेगी।
उदाहरण
┌──(kali㉿kali)-[~/example]
└─$ ./CVE-2015-1397
लक्ष्य URL दर्ज करें (जैसे, http://target.com/): http://example.com/
नया एडमिन उपयोगकर्ता नाम दर्ज करें: admin123
नया एडमिन पासवर्ड दर्ज करें: pass123
[*] पेलोड भेजा जा रहा है http://example.com/admin/Cms_Wysiwyg/directive/index/
[+] एक्सप्लॉइट सफल। एडमिन खाता बनाया गया: admin123 / pass123
यह कैसे काम करता है
-
इनपुट सत्यापन:
- सुनिश्चित करता है कि प्रदान किया गया URL
http:// या https:// से शुरू होता है।
- सत्यापित करता है कि उपयोगकर्ता नाम और पासवर्ड खाली नहीं हैं।
-
पेलोड निर्माण:
- एक नया एडमिन उपयोगकर्ता सम्मिलित करने के लिए SQL क्वेरी वाले Base64-एन्कोडेड
___directive पैरामीटर का निर्माण करता है।
- SQL क्वेरी को गतिशील रूप से एन्कोड करता है।
-
शोषण:
curl का उपयोग करके कमजोर एंडपॉइंट पर POST अनुरोध भेजता है।
- SQL पेलोड को निष्पादित करने के लिए Magento के आंतरिक निर्देश पार्सिंग का उपयोग करता है।
-
प्रतिक्रिया प्रबंधन:
- सफलता या विफलता के संकेतों के लिए सर्वर की प्रतिक्रिया की जाँच करता है।
- अमान्य URL, खाली प्रतिक्रिया, या नेटवर्क समस्याओं जैसी सामान्य त्रुटियों को संभालता है।
त्रुटि प्रबंधन
- अमान्य URL: सुनिश्चित करता है कि लक्ष्य URL
http:// या https:// से शुरू होता है।
- खाली इनपुट: सत्यापित करता है कि उपयोगकर्ता नाम और पासवर्ड खाली नहीं हैं।
- नेटवर्क समस्याएँ: यदि लक्ष्य से कनेक्शन विफल होता है तो रिपोर्ट करता है।
- खाली सर्वर प्रतिक्रिया: यदि सर्वर कोई प्रतिक्रिया नहीं देता है तो उपयोगकर्ता को सचेत करता है।
- असफल एक्सप्लॉइट: डिबगिंग उद्देश्यों के लिए सर्वर की प्रतिक्रिया प्रदर्शित करता है।
कानूनी अस्वीकरण
यह स्क्रिप्ट केवल शैक्षिक उद्देश्यों के लिए है। उन सिस्टमों के विरुद्ध अनधिकृत उपयोग जिनके आप स्वामी नहीं हैं या जिनके परीक्षण की अनुमति नहीं है, अवैध और अनैतिक है। लेखक और योगदानकर्ता इस उपकरण के किसी भी दुरुपयोग के लिए जिम्मेदार नहीं हैं।
आभार
विशेष धन्यवाद:
- मूल Python स्क्रिप्ट के लेखक: Manish Kishan Tanwar (error1046)
- CVE-2015-1397 का दस्तावेजीकरण करने वाले सुरक्षा शोधकर्ताओं और समुदाय के योगदानकर्ताओं को।
संदर्भ