
एक स्व-सबमिटिंग HTML ट्रिगर पेज उत्पन्न करता है जो WordPress लॉगिन में परावर्तित HTML इंजेक्शन (CVE-2026-64638) का शोषण करके एक कस्टम बैनर प्रदर्शित करता है, जो अधिकृत सुरक्षा परीक्षण के लिए है।
WordPress CVE-2026-64638 के लिए एक सिंगल-फ़ाइल, डिपेंडेंसी-मुक्त PoC जनरेटर —
wp-login.php पर रिफ्लेक्टेड HTML-इंजेक्शन (strip_tags() बनाम KSES पार्सर
डिफरेंशियल)। यह एक सेल्फ-सबमिटिंग ट्रिगर पेज उत्पन्न करता है: जब पीड़ित फ़ाइल
खोलता है, तो पेज चुपचाप इंजेक्शन पेलोड POST करता है और पीड़ित सीधे
लक्षित लॉगिन पेज पर बैनर के साथ पहुँचता है — कोई इंटरैक्शन नहीं, टारगेट
पक्ष पर कोई JavaScript नहीं।
केवल अधिकृत सुरक्षा परीक्षण के लिए। केवल उन्हीं सिस्टमों के विरुद्ध उपयोग करें जिनके आप स्वामी हैं या जिनके परीक्षण के लिए आप स्पष्ट रूप से अधिकृत हैं।
| Versions | Status |
|---|
| 6.4.0 – 7.0.2 | संवेदनशील — बॉक्स से बाहर काम करता है |
| 5.8 – 6.3 | सशर्त — एक प्लगइन की आवश्यकता है जो login_errors को wp_kses() से style अनुमत के साथ पास करता है |
| 4.7 – 5.7 | शोषण योग्य नहीं (उपयोगकर्ता नाम रिफ्लेक्ट नहीं होता) |
| 6.4.9 / 6.5.9 / 6.6.6 / 6.7.6+ / 6.8.7 / 6.9.6 / 7.0.3+ | पैच किया गया (esc_html) |
python3 banner_poc.py \
--out trigger.html \
--target http://192.0.2.10/wp-login.php \
--msg "Scheduled System Maintenance"
# सब-डायरेक्टरी + छिपा हुआ लॉगिन पथ + उपशीर्षक
python3 banner_poc.py \
--out trigger.html \
--target http://10.0.0.5:8080/blog/my-secret-login \
--msg "Please sign in again" --sub "Session expired"
trigger.html को कहीं भी होस्ट करें। जब पीड़ित इसे खोलता है, तो वे बैनर के
साथ लक्षित लॉगिन पेज पर पुनर्निर्देशित हो जाते हैं। यह हॉप मौन है: कोई दृश्यमान
मध्यवर्ती सामग्री नहीं, बैकग्राउंड WordPress लॉगिन स्क्रीन से मेल खाता है, ~0.5
सेकंड में पहुँचता है।
| Flag | Description |
|---|---|
--out | आउटपुट HTML फ़ाइल (आवश्यक) |
--target | पूर्ण लॉगिन-पेज URL — सब-डायरेक्टरी / छिपे हुए लॉगिन पथ शामिल (आवश्यक) |
--msg | बैनर टेक्स्ट (डिफ़ॉल्ट: Scheduled System Maintenance) |
--sub | वैकल्पिक उपशीर्षक पंक्ति |
wp-login.php एक असफल-लॉगिन उपयोगकर्ता नाम को त्रुटि संदेश में रिफ्लेक्ट
करता है। संवेदनशील संस्करण इसे PHP strip_tags() से सैनिटाइज़ करते हैं, जो
किसी भी चीज़ को पास कर देता है जहाँ < के बाद व्हाइटस्पेस हो।< div style="..."> एक वास्तविक
एलिमेंट के रूप में आता है।< /strong> (स्लैश से पहले स्पेस) भी strip_tags() से बच जाता है और
एक वास्तविक क्लोज़िंग टैग में पुनर्निर्मित होता है, जिससे पेलोड टेम्पलेट के
<strong> (एक HTML5 सक्रिय फ़ॉर्मेटिंग एलिमेंट) को अपने पहले टोकन के रूप में
बंद कर सकता है और सटीक DOM नियंत्रण बनाए रख सकता है।div टेम्पलेट की पूंछ टेक्स्ट
("… is not registered on this site …") को निगल जाता है।class-मुक्त इनलाइन स्टाइल का उपयोग करता है जो
safecss_filter_attr() से बच जाते हैं। 6.3+ / 6.4+ पर position:fixed एक
पूर्ण-पेज ओवरले प्रस्तुत करता है; 5.8–6.2 पर वे गुण हटा दिए जाते हैं और वही
पेलोड स्वयं-अपग्रेड होकर इन-फ्लो लाल बैनर बन जाता है।शुद्ध HTML/CSS — टारगेट पर कोई JavaScript निष्पादित नहीं होता। <script> या
इवेंट हैंडलर को लक्षित करने वाले WAF नियम लागू नहीं होते।
यह टूल रक्षात्मक अनुसंधान और अधिकृत पेनेट्रेशन परीक्षण के लिए प्रकाशित किया गया है। लेखक दुरुपयोग के लिए ज़िम्मेदार नहीं है।