
CVE-2025-32429 के लिए एक्सप्लॉइट – XWiki REST API (getdeleteddocuments.vm) में SQLi।
लेखक: Byte Reaper
टेलीग्राम: @ByteReaper0
CVE: CVE‑2025‑32429
कमजोरी: XWiki LiveData REST API में ब्लाइंड SQL इंजेक्शन
प्रभावित फ़ाइल: getdeleteddocuments.vm (sort पैरामीटर)
XWiki प्लेटफ़ॉर्म के LiveData REST एंडपॉइंट में getdeleteddocuments.vm के sort पैरामीटर का उपयोग करते समय एक ब्लाइंड SQL इंजेक्शन कमजोरी मौजूद है। एक हमलावर मनमाने SQL टुकड़े इंजेक्ट कर सकता है, और समय-आधारित पेलोड (SLEEP) या यूनियन-आधारित क्वेरी का उपयोग करके डेटाबेस सामग्री को एनुमरेट कर सकता है।
यह रिपॉजिटरी एक C-आधारित प्रूफ-ऑफ-कॉन्सेप्ट प्रदान करता है जो:
कम्पाइल करें:
gcc -o exploit exploit.c argparse.c -lcurl
./exploit -u <BASE_URL> [-c cookies.txt] [-v] -u, --url : लक्ष्य XWiki इंस्टेंस का बेस URL
-c, --cookies : (वैकल्पिक) प्रमाणित सत्रों के लिए कुकी जार का पथ
-v, --verbose : विस्तृत डीबग आउटपुट सक्षम करें
उदाहरण सार्वजनिक इंस्टेंस के खिलाफ बिना प्रमाणीकरण के परीक्षण
./exploit -u http://victim.com प्रमाणित संदर्भ के लिए कुकीज़ का उपयोग करना
./exploit -u https://intranet.xwiki.local -c session.txt -v
WAF का पता लगाना
User-Agent: sqlmap के साथ एक सौम्य पेलोड भेजता है
ब्लॉकिंग HTTP कोड (403/404/503), असामान्य रीडायरेक्ट, समय-विलंब, प्रतिक्रिया में हस्ताक्षर कीवर्ड और कनेक्शन रीसेट की जाँच करता है
शोषण लूप
पूर्वनिर्धारित SQL पेलोड के माध्यम से पुनरावृत्ति: बूलियन जाँच, SLEEP() इंजेक्शन, यूनियन क्वेरी
समय-आधारित इंजेक्शन का पता लगाने के लिए कुल अनुरोध समय (CURLINFO_TOTAL_TIME) मापता है
इंजेक्शन सफलता की पुष्टि करने के लिए प्रतिक्रिया बॉडी में SQL कीवर्ड (select, union, आदि) खोजता है
XWiki को ऐसे संस्करण में अपग्रेड करें जहाँ getdeleteddocuments.vm sort पैरामीटर को ठीक से सैनिटाइज़ करता हो।
पैरामीटराइज्ड क्वेरी लागू करें या अनुमत sort फ़ील्ड की व्हाइटलिस्ट बनाएँ।
एक WAF या इनपुट-सत्यापन परत तैनात करें जो पैरामीटर में अप्रत्याशित SQL मेटाकैरेक्टर को सामान्यीकृत और अस्वीकार करे।
MIT