
أداة سريعة لتعداد إضافات ووردبريس
"لما تفحص وأنت أعمى ووردبريس مكشوف قدامك؟"
ماسح سريع لإضافات وقوالب ووردبريس يكتشف الإضافات المثبتة عبر تعداد REST API والقوالب من اكتشاف HTML، ثم يربطها بالثغرات الأمنية المعروفة. أكثر من 5000 إضافة قابلة للاكتشاف دون تخمين، وآلاف إضافية معه.
منذ 9 مارس 2026، أوقفت Wordfence دعم واجهة v2 الخاصة بها. جميع إصدارات WPProbe قبل v0.10.16 لديها وظيفة update-db معطلة. تحتاج إلى تحديث WPProbe.
افتراضياً، يقوم wpprobe update-db بجلب قاعدة بيانات مبنية مسبقاً من هذا المستودع (تُحدَّث كل ساعتين عبر CI)، لذا لا حاجة لمفتاح API. إذا أردت الجلب مباشرة من Wordfence بنفسك، يمكنك اختيارياً إعداد مفتاح API مجاني:
--api-keygo install github.com/Chocapikk/wpprobe@latest
wpprobe update-db
wpprobe scan -u https://example.com
| الوضع | الطريقة | التخفي | التغطية |
|---|---|---|---|
stealthy (افتراضي) | مطابقة نقاط نهاية REST API + اكتشاف قوالب HTML | عالية | 5000+ إضافة + قوالب |
bruteforce | فحوصات مجلدات مباشرة | منخفضة | 10k+ إضافة |
hybrid | تخفي أولاً، ثم تخمين | متوسطة | الحد الأقصى |
wpprobe scan -u https://example.com --mode stealthy
wpprobe scan -u https://example.com --mode bruteforce
wpprobe scan -u https://example.com --mode hybrid
# Kali Linux (مضمن في kali-rolling)
sudo apt install wpprobe
# Go (يتطلب 1.22+)
go install github.com/Chocapikk/wpprobe@latest
# Nix
nix-shell -p wpprobe
# Docker
docker run -it --rm wpprobe scan -u https://example.com
# من المصدر
git clone https://github.com/Chocapikk/wpprobe && cd wpprobe && go build -o wpprobe
# تركيب المجلد الحالي لملفات الإدخال/الإخراج
docker run -it --rm -v $(pwd):/data wpprobe scan -f /data/targets.txt -o /data/results.csv
# حفظ قواعد بيانات الثغرات
docker run -it --rm \
-v $(pwd):/data \
-v wpprobe-config:/config \
wpprobe scan -f /data/targets.txt -o /data/results.json
# تحديث قواعد البيانات
docker run -it --rm \
-v wpprobe-config:/config \
-e WORDFENCE_API_KEY=your_key \
-e WPSCAN_API_TOKEN=your_token \
wpprobe update-db
# هدف واحد
wpprobe scan -u https://example.com
# أهداف متعددة مع خيوط معالجة
wpprobe scan -f targets.txt -t 20
# خيارات مخصصة
wpprobe scan -u https://example.com \
--header "User-Agent: CustomAgent" \
--proxy http://proxy:8080 \
--rate-limit 10 \
--no-check-version
# صيغ الإخراج
wpprobe scan -u https://example.com -o results.csv
wpprobe scan -u https://example.com -o results.json
# تحديث قواعد البيانات (Wordfence يتطلب مفتاح API مجاني، WPScan يتطلب رمز Enterprise API)
wpprobe update-db --api-key your_wordfence_key
# أو استخدم متغير بيئة
export WORDFENCE_API_KEY=your_key_here
wpprobe update-db
# البحث عن الثغرات
wpprobe search --cve CVE-2024-1234
wpprobe search --plugin woocommerce
wpprobe search --severity critical
wpprobe search --auth Unauth
wpprobe search --title "SQL Injection" --details
# إحصائيات قاعدة البيانات
wpprobe list
عيّن WORDFENCE_API_KEY لتحديثات قاعدة بيانات Wordfence (مجانية). عيّن WPSCAN_API_TOKEN لتحديثات قاعدة بيانات WPScan (خطة Enterprise فقط).
wpprobe update
فقط الملفات الثنائية المثبتة من إصدار رسمي تُحدّث نفسها. البناء من المصدر عادةً
يكون أحدث من آخر إصدار رسمي، لذا استبداله سيكون تخفيضاً للإصدار: أعد بنائه
من المستودع بدلاً من ذلك، أو مرر --force لتثبيت الملف الثنائي الرسمي
على أي حال.
عند بدء التشغيل، يتحقق WPProbe من أحدث إصدار منشور لتسمية الشعار. يتم تخزين الإجابة مؤقتاً لمدة 24 ساعة، ويمكن إيقاف الفحص تماماً:
export WPPROBE_NO_UPDATE_CHECK=1
وضع التخفي يستعلم مسارات REST API المكشوفة (?rest_route=/) ويطابق نقاط النهاية المكتشفة مع قاعدة بيانات مجمعة مسبقاً لتوقيعات الإضافات المعروفة. كما يكتشف القوالب النشطة بتحليل مراجع wp-content/themes/ من HTML الصفحة ويجلب إصدارها من style.css. هذا يولّد طلبات قليلة ويتجنب اكتشافه بواسطة جدران الحماية (WAFs).
وضع التخمين يفحص مجلدات الإضافات مباشرة عبر طلبات GET. استجابة 403 تؤكد وجود الإضافة (منع سرد المجلدات). استجابة 200 يتم التحقق منها بفحص وجود readme.txt في سرد المجلدات لتجنب النتائج الإيجابية الخاطئة من حالات ووردبريس التي ترجع 200 لجميع المسارات.
الوضع الهجين يجمع بين الاثنين: تخفي أولاً للاكتشاف منخفض الضوضاء، ثم تخمين للإضافات المتبقية. يتم دائماً اكتشاف القوالب عبر HTML بغض النظر عن الوضع.
يتم ربط الإضافات والقوالب المكتشفة مع CVEs المعروفة من قواعد بيانات Wordfence وWPScan، مع مطابقة نطاقات الإصدارات لتحديد التثبيتات المعرضة للخطر.
CSV:
URL,Plugin,Version,Severity,AuthType,CVEs,CVE Links,CVSS Score,CVSS Vector,Title
http://example.com,give,2.20.1,critical,Unauth,CVE-2025-22777,https://www.cve.org/CVERecord?id=CVE-2025-22777,9.8,CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H,GiveWP <= 3.19.3 - Unauthenticated PHP Object Injection
إخراج JSON هو دائماً مصفوفة، مع كائن واحد لكل هدف مفحوص، لذا يبقى ملف واحد صالحاً سواء فحصت عنوان URL واحداً أو عدة عناوين مع -f.
JSON:
[
{
"url": "http://example.com",
"plugins": {
"give": [
{
"version": "2.20.1",
"severities": [
{
"critical": [
{
"auth_type": "Unauth",
"vulnerabilities": [
{
"cve": "CVE-2025-22777",
"cve_link": "https://www.cve.org/CVERecord?id=CVE-2025-22777",
"title": "GiveWP <= 3.19.3 - Unauthenticated PHP Object Injection",
"cvss_score": 9.8,
"cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
}
]
}
]
}
]
}
],
"wordpress-seo": [
{
"version": "27.1.1"
}
]
}
}
]