
ماسح أمني لووردبريس غير متزامن مع تجاوز WAF عبر متصفح بدون واجهة رسومية. يقوم بتعداد الإضافات والقوالب والمستخدمين وتثبيتات المواقع المتعددة باستخدام بصمة متخفية وتكامل نقاط الضعف مع WPScan.
█ █░ ██▓███ ▒██ ██▒ ██▀███ ▄▄▄ ▓██ ██▓ ▓█░ █ ░█░▓██░ ██▒ ▒▒ █ █ ▒░▓██ ▒ ██▒▒████▄ ▒██ ██▒ ▒█░ █ ░█ ▓██░ ██▓▒ ░░ █ ░▓██ ░▄█ ▒▒██ ▀█▄ ▒██ ██░ ░█░ █ ░█ ▒██▄█▓▒ ▒ ░ █ █ ▒ ▒██▀▀█▄ ░██▄▄▄▄██ ░ ▐██▓░ ░░██▒██▓ ▒██▒ ░ ░ ▒██▒ ▒██▒░██▓ ▒██▒ ▓█ ▓██▒ ░ ██▒▓░ ░ ▓░▒ ▒ ▒▓▒░ ░ ░ ▒▒ ░ ░▓ ░░ ▒▓ ░▒▓░ ▒▒ ▓▒█░ ██▒▒▒ ▒ ░ ░ ░▒ ░ ░░ ░▒ ░ ░▒ ░ ▒░ ▒ ▒▒ ░▓██ ░▒░ ░ ░ ░░ ░ ░ ░░ ░ ░ ▒ ▒ ▒ ░░ ░ ░ ░ ░ ░ ░░ ░ ░ ░
WPX — WordPress X-Ray Scanner | WAF Bypass
WPX (WordPress X-Ray) هو ماسح أمني يستخدم Camoufox لحل تحديات Cloudflare و WAF. يعكس تلك الجلسات لإجراء اكتشاف سريع غير متزامن للإضافات والسمات، وتعداد المستخدمين، واكتشاف المواقع المتعددة.
ملاحظة: يقوم WPX بتنزيل البيانات الوصفية الضرورية للمسح (بصمات الأصابع، قواعد الكشف) من data.wpscan.org.
asyncio و curl_cffi لتعداد سريع.wpscan.أسهل طريقة لتشغيل WPX — بدون حاجة إلى Python أو تبعيات.
docker run ghcr.io/greg-randall/wpx -u https://example.com
docker run -v $(pwd):/output ghcr.io/greg-randall/wpx -u https://example.com -o /output/results.txt
بدون وحدة تخزين، يقوم WPX بإعادة تنزيل البيانات الوصفية في كل تشغيل. قم بتركيب وحدة تخزين مسماة لتجنب ذلك:
docker run -v wpx-data:/app/.wpx_data ghcr.io/greg-randall/wpx -u https://example.com
تحديث البيانات الوصفية يدويًا عند الحاجة:
docker run -v wpx-data:/app/.wpx_data ghcr.io/greg-randall/wpx --update
git clone https://github.com/greg-randall/wpx.git
cd wpx
pip install .
python3 -m camoufox fetch
python3 wpx.py -u https://example.com
python3 wpx.py -u https://example.com --api-key YOUR_API_KEY
فحص عدد محدد من الإضافات الأعلى تصنيفًا (مثل أعلى 500):
python3 wpx.py -u https://example.com --plugins-limit 500
فحص كل إضافة تم إنشاؤها على الإطلاق. يمكن لـ WPX اجتياز المكتبة التاريخية الكاملة التي تضم حوالي 110,000 إضافة (بما في ذلك حوالي 55,000 إضافة نشطة حاليًا) للعثور على كل أثر للبرامج على الهدف. تحذير: يقوم هذا بعدد هائل من الطلبات وقد يستغرق عدة ساعات لإكماله اعتمادًا على عدد سلاسل التشغيل واستجابة الهدف.
python3 wpx.py -u https://example.com --full-scan
يتم تشغيل تعداد المستخدمين تلقائيًا. لتحديد نطاق فحص معرف المؤلف أو تعطيله تمامًا:
python3 wpx.py -u https://example.com --users-limit 20
python3 wpx.py -u https://example.com --enum-users-disable
تشغيل فحص بصمت وحفظ النتائج في ملف بدون رموز ألوان ANSI:
python3 wpx.py -u https://example.com --quiet --output results.txt
لتحديث قوائم الإضافات وترتيبها حسب الشعبية:
python3 data/wpx_fetch_plugins.py --sort-by score
يُخرج data/plugins_active.txt (أعلى 5000 افتراضيًا) و data/plugins_dead.txt (أعلى 2500 افتراضيًا).
لتغيير الحدود:
python3 data/wpx_fetch_plugins.py --active-limit 10000 --dead-limit 5000
يحتوي دليل data/ على مجموعات بيانات الإضافات المعالجة وأدوات الصيانة:
data/plugins_active.txt: أفضل معرفات الإضافات النشطة مرتبة حسب درجة الشعبية (المتوسط الهندسي للتثبيتات × التنزيلات).data/plugins_dead.txt: أفضل معرفات الإضافات المغلقة/المحذوفة مرتبة حسب عدد التثبيتات التاريخية (مأخوذة من تشغيلات الكتالوج السابقة أو لقطات Archive.org).data/plugins_catalog.json: بيانات وصفية مخبأة للإضافات النشطة.data/plugins_dead.jsonl: ذاكرة تخزين مؤقت للإضافات الميتة قابلة للإضافة فقط وتتضمن آخر أعداد التثبيتات المعروفة. يتم استبدال الإدخالات الجديدة القديمة عند التحميل (آخر كتابة تفوز).data/archive.org-cache/: لقطات HTML خام من Wayback Machine، تُستخدم لاستعادة أعداد التثبيتات التاريخية للإضافات التي أغلقت قبل أول تشغيل للكتالوج.data/wpx_fetch_plugins.py: جالب يجمع بين واجهة WordPress.org API ومستودع SVN و Archive.org لبناء وإثراء قوائم الإضافات.wpx.py)data/wpx_fetch_plugins.py)هذه الأداة مخصصة لاختبار الأمان المصرح به فقط. المطورون غير مسؤولين عن سوء الاستخدام أو الضرر.
| العلم | الوصف |
|---|
-u, --url | عنوان URL المستهدف لـ WordPress (مطلوب). |
--api-key | مفتاح API لقاعدة بيانات ثغرات WPScan. |
-t, --threads | سلاسل تشغيل متزامنة للمسح (الافتراضي: 20). |
--plugins-limit | حد عدد الإضافات المراد مسحها (مثل 500, 5000). |
--full-scan | يمسح جميع معرفات الإضافات المتاحة (حتى 50k+). |
--update | فرض تحديث ملفات البيانات الوصفية لـ WPScan. |
--no-browser | تخطي تجاوز WAF الخاص بـ Camoufox والاتصال مباشرة. |
--enum-users-disable | تخطي تعداد المستخدمين. |
--users-limit N | عدد معرفات المؤلفين لفحصها عبر ?author=N (الافتراضي: 10). |
--stealth [N] | إضافة تأخيرات عشوائية بين الطلبات. الحد الأدنى 1 ثانية، الحد الأقصى 2×N ثانية (الافتراضي عند تعيين العلم: 1.5 → 1-3 ثوانٍ). كما يحد من سلاسل التشغيل إلى 3. |
--idle-timeout N | إلغاء إذا لم يتم استلام استجابة خادم لمدة N ثانية (الافتراضي: 60، 0 = معطل). |
-q, --quiet | إخفاء اللافتة والحالة والتقدم — عرض النتائج فقط. |
-o, --output FILE | كتابة الإخراج إلى FILE (نص عادي، بدون رموز ANSI). |
| العلم | الوصف |
|---|
--sort-by | كيفية ترتيب الإضافات النشطة: score (الافتراضي)، active_installs، downloaded. |
--active-limit N | عدد المعرفات النشطة للكتابة إلى plugins_active.txt (الافتراضي: 5000، 0 = الكل). |
--dead-limit N | عدد المعرفات الميتة للكتابة إلى plugins_dead.txt (الافتراضي: 2500، 0 = الكل). |
--force | إعادة جلب كل شيء حتى لو كان الكتالوج موجودًا بالفعل. |
--fetch-limit N | التوقف بعد جلب N من الإضافات النشطة من API (0 = الكل). |
--max-age HOURS | تخطي جلب API إذا كان الكتالوج أحدث من N ساعة (الافتراضي: 24). |