
Nuclei टेम्पलेट XSS2Shell की गैर-आक्रामक पहचान के लिए है, जो WordPress Core में एक प्री-प्रमाणित डिफरेंशियल पार्सर है, जो लॉगिन पेज पर DOM तत्वों के इंजेक्शन की अनुमति देता है, और XSS → RCE श्रृंखला के आधार के रूप में कार्य करता है।
प्रोजेक्टडिस्कवरी का Nuclei टेम्पलेट XSS2Shell का गैर-आक्रामक पता लगाने के लिए है, जो WordPress कोर में एक प्री-ऑथेंटिकेटेड डिफरेंशियल पार्सर है, जो लॉगिन पृष्ठ में DOM तत्वों के इंजेक्शन की अनुमति देता है, और XSS → RCE श्रृंखला का आधार बनता है।
⚠️ यह टेम्पलेट केवल सैनिटाइज़ेशन दोष का पता लगाता है (HTML प्रतिक्रिया में मार्कर प्रतिबिंब का चरण)। यह शोषण की पूरी श्रृंखला (DOM क्लोबरिंग, JSONP/SOME, एप्लिकेशन पासवर्ड की चोरी या प्लगइन अपलोड) निष्पादित नहीं करता है। उपयोग केवल स्पष्ट प्राधिकरण वाले एसेट्स पर सख्ती से करें।
WordPress Core, wp-login.php में "अपंजीकृत उपयोगकर्ता" त्रुटि संदेश को रेंडर करते समय, प्रस्तुत उपयोगकर्ता-नाम को HTML में डालता है, बिना दो अलग-अलग फिल्टरों के बीच consistent escaping के:
wp_strip_all_tags() (PHP के strip_tags() पर आधारित) किसी टैग को तभी पहचानता है जब < के बाद तुरंत एक अक्षर आता है — < के बाद एक स्पेस फ़िल्टर को सामग्री को सादे पाठ के रूप में मानने पर मजबूर करता है।wp_kses_post(), तुरंत बाद लागू किया जाता है, अपना स्वयं का टोकननाइज़र उपयोग करता है, जो उस स्पेस को सहन करता है और स्ट्रिंग को एक वास्तविक HTML तत्व के रूप में पुनर्निर्मित करता है (<area>, <div> और <button> allowlist में हैं)।परिणाम यह है कि एक गैर-प्रमाणित हमलावर लॉगिन पृष्ठ में मनमाने DOM तत्व इंजेक्ट कर सकता है, जो — user-profile.js स्क्रिप्ट के विरासत हैंडलर, ajaxurl चर के DOM क्लोबरिंग, और REST API के JSONP के साथ संयुक्त होने पर — WordPress ओरिजिन पर जावास्क्रिप्ट निष्पादन की अनुमति देते हैं, और पूरी श्रृंखला में, किसी व्यवस्थापक के खाते के विरुद्ध RCE करते हैं।
pwn.ai द्वारा खोजा और प्रकट किया गया। WordPress 7.0.3 में सुधारा गया (4.7 शाखा तक backport किया गया)।
टेम्पलेट log फ़ील्ड में निम्नलिखित पेलोड के साथ /wp-login.php पर एक POST अनुरोध भेजता है:
< area id=xss2shell-marker href=/x>< div id=xss2shell-div>
यदि WordPress भेद्य है, तो wp_kses_post() प्रतिक्रिया में इन स्ट्रिंग्स को वास्तविक HTML तत्वों के रूप में पुनर्निर्मित करता है। टेम्पलेट regex में दो मैचर्स (and स्थिति) का उपयोग करता है, ताकि पुष्टि की जा सके कि दोनों टैग पुनर्निर्मित रूप में दिखाई देते हैं — जिससे WAFs के कारण होने वाले झूठे पॉज़िटिव कम होते हैं जो इनपुट को आंशिक रूप से प्रतिबिंबित करते हैं।
# Validar sintaxe do template
nuclei -t CVE-2026-64638.yaml -validate
# Rodar contra um alvo único
nuclei -t CVE-2026-64638.yaml -u https://target.com
# Rodar contra uma lista de alvos
nuclei -t CVE-2026-64638.yaml -l targets.txt
# Debug (ver request/response completos)
nuclei -t CVE-2026-64638.yaml -u https://target.com -debug-req -debug-resp
| परिणाम | अर्थ |
|---|---|
| सकारात्मक मैच | इंजेक्ट किए गए टैग वास्तविक HTML के रूप में प्रतिबिंबित हुए → डिफरेंशियल पार्सर उपस्थित → लक्ष्य भेद्य है (सुधारा नहीं गया) |
| कोई मैच नहीं | पेलोड को एस्केप या हटा दिया गया → लक्ष्य सुधारा गया (WordPress ≥ 7.0.3) या WAF/प्रॉक्सी द्वारा संरक्षित जो टैग के भीतर स्थानों को सामान्य करता है |
WordPress 7.0.3 या उससे नए संस्करण में अपडेट करें। पैच को 4.7 से शुरू होने वाली सभी समर्थित शाखाओं में backport किया गया है।
यह टेम्पलेट सुरक्षा अनुसंधान और अधिकृत पेनेट्रेशन परीक्षण के उद्देश्यों के लिए प्रदान किया गया है। स्पष्ट प्राधिकरण के बिना सिस्टम के विरुद्ध उपयोग गैरकानूनी है। दुरुपयोग के लिए लेखक उत्तरदायी नहीं है।
Renzi