
# أداة CLI للقراءة فقط للتحقق مما إذا كان موقع ووردبريس معرضًا لثغرة WP2Shell (CVE-2026-63030 / CVE-2026-60137)
أداة سطر أوامر تتحقق مما إذا كان موقع ووردبريس معرّضًا لـ WP2Shell (CVE-2026-63030 و CVE-2026-60137). تقرأ إصدار ووردبريس وسطح REST API عبر طلبات للقراءة فقط وتُصدر حكمًا. لا تستغل أي شيء.
[!WARNING] للاختبار المصرّح به فقط. استخدمها على مواقع تملكها أو لديك إذن كتابي لفحصها. المؤلف (
DanSec) لا يتحمل أي مسؤولية عن سوء الاستخدام أو الضرر.
يربط WP2Shell بين حقن SQL (CVE-2026-60137) وخلل في معالج الدفعات REST
(CVE-2026-63030) عبر نقطة النهاية /wp-json/batch/v1، مما يتيح تنفيذ كود عن بُعد
بدون مصادقة على تثبيت ووردبريس افتراضي. كلا الثغرتين مدرجتان في كتالوج CISA للثغرات المستغلة المعروفة.
| الفرع | الإصدارات المعرّضة | الإصلاح في |
|---|---|---|
| 6.9.x | 6.9.0 حتى 6.9.4 | 6.9.5 |
| 7.0.x | 7.0.0 حتى 7.0.1 | 7.0.2 |
| 7.1 وما بعده | غير متأثر | غير متاح |
يتطلب Python 3.8+.
pip install -r requirements.txt
requests و rich مطلوبان. sublist3r اختياري (تعداد النطاقات الفرعية).
لتعداد أوسع، ثبّت subfinder
(ملف Go ثنائي، وليس pip) ومرّر --subfinder.
# فحص مضيف واحد
python wpScanner.py example.com --passive
# تعداد النطاقات الفرعية لنطاق جذري وفحص كل منها
python wpScanner.py example.com --subfinder --threads 8
تُكتب النتائج أيضًا إلى CSV. عندما تتعارض مصادر الإصدار، تصنّف الأداة بناءً على
الأدنى منها لتجنب إعلان خلوٍّ زائف. لا يمكن للفحص عن بُعد رؤية تصحيح مُعاد تطبيقه ترك
سلسلة الإصدار دون تغيير، لذا على المضيفين الذين تتحكم بهم، wp core version هو الحقيقة الأساسية.
حدّث النواة إلى 6.9.5 أو 7.0.2 أو 7.1+ (wp core update). إذا لم تتمكن من التحديث بعد، احجب
/wp-json/batch/v1 في جدار الحماية وقيّد وصول REST المجهول.
مقدَّمة للاستخدام الدفاعي المصرّح به فقط. أنت مسؤول عن الحصول على إذن لفحص أي مضيف توجّهها إليه.
| الخيار | الوصف | الافتراضي |
|---|
-o, --output | ملف إخراج CSV | WP2Shell_output.csv |
--passive | فحص المضيف المعطى فقط، تخطي التعداد | معطّل |
--subfinder | إضافة subfinder كمصدر للنطاقات الفرعية | معطّل |
--threads | العمال المتزامنون | 1 |
--retries | إعادة المحاولة لكل مضيف | 1 |
--rate-limit | الحد الأقصى للطلبات/ثانية (خيط واحد، 0 = بدون حد) | 0 |
| الحكم | المعنى |
|---|
VULNERABLE | إصدار متأثر ونقطة نهاية الدفعات قابلة للوصول. |
LIKELY_MITIGATED | إصدار متأثر، لكن نقطة نهاية الدفعات تبدو محجوبة أو REST معطّل. |
PATCHED | إصدار مُصلَح، أو أقدم من الإصدارات المتأثرة. |
VERSION_UNKNOWN | تم العثور على ووردبريس، لكن تعذّرت قراءة الإصدار. |
NOT_WORDPRESS | لا توجد بصمة ووردبريس. |
ERROR | غير قابل للوصول أو خطأ في الشبكة. |