
भेद्यता प्रयोगशाला: MainWP Dashboard <= 3.1.2 Unauthenticated Stored XSS
CVE-2016-15041 के लिए संवेदनशील लैब: MainWP Dashboard WordPress प्लगइन <= 3.1.2 में अप्रमाणित संग्रहीत XSS।
docker compose up -d --build
ऑटो-सेटअप के लिए ~30 सेकंड प्रतीक्षा करें। तैयार होने पर लैब एक बैनर प्रिंट करता है:
docker compose logs -f wordpress
| संसाधन | URL / क्रेडेंशियल्स |
|---|
| WordPress | http://localhost:8088 |
| व्यवस्थापक लॉगिन | admin / admin123 |
| संवेदनशील एंडपॉइंट | http://localhost:8088/wp-admin/admin-post.php?page=mainwp-setup&step=purchase_extension |
Nuclei:
nuclei -t https://raw.githubusercontent.com/projectdiscovery/nuclei-templates/main/http/cves/2016/CVE-2016-15041.yaml -u http://localhost:8088
मैन्युअल PoC:
./scripts/poc.sh http://localhost:8088
docker compose down -v
| फ़ील्ड | मान |
|---|---|
| CVE | CVE-2016-15041 |
| गंभीरता | उच्च |
| प्रकार | संग्रहीत XSS (अप्रमाणित) |
| प्रभावित | MainWP Dashboard <= 3.1.2 |
| समाधान | 3.1.3 |
MainWP Dashboard का त्वरित सेटअप विज़ार्ड प्रमाणीकरण के बिना सुलभ है। एक हमलावर mwp_setup_purchase_username पैरामीटर के माध्यम से JavaScript इंजेक्ट कर सकता है। पेलोड WordPress विकल्पों में संग्रहीत होता है और जब कोई व्यवस्थापक एक्सटेंशन पृष्ठ देखता है तो बिना एस्केपिंग के प्रस्तुत किया जाता है।
GET /wp-admin/admin-post.php?page=mainwp-setup&step=purchase_extension → CSRF नॉन्स प्राप्त करें (कोई प्रमाणीकरण आवश्यक नहीं)POST XSS पेलोड (कोई प्रमाणीकरण आवश्यक नहीं)संवेदनशील प्लगइन (v3.1.2) WordPress SVN संशोधन r1394563 (14 अप्रैल, 2016) से प्राप्त किया गया था। PHP 8 संगतता के लिए मामूली पैच लागू किए गए जो भेद्यता को प्रभावित नहीं करते:
__autoload() को spl_autoload_register() से बदल दिया गयाXSS भेद्यता view/view-mainwp-extensions-view.php की पंक्ति 74 में मौजूद है जहाँ $username को esc_attr() के बिना प्रतिध्वनित किया गया है।