Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
WPSniper — كاشف CVE-2026-87902. فئة LFI في get_page_template الخاص بـ WordPress. للكشف فقط. مختبر مصرّح به. | Kitploit
أدوات/GitHubGitHub/ynsmroztas/wpsniper
الاستطلاعماسحات الثغرات الأمنيةماسحات الثغرات الأمنية للويبتحليل الثغرات الأمنيةجمع المعلوماتأمن الويباختبار الاختراق
GitHubynsmroztas/wpsniper

WPSniper

كاشف CVE-2026-87902. فئة LFI في get_page_template الخاص بـ WordPress. للكشف فقط. مختبر مصرّح به.

عرض المستودع
8منذ يوم واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

WPSniper — CVE-2026-87902 detector

WPSniper

كاشف CVE-2026-87902 في نواة WordPress.

يمكن توجيه get_page_template() بحيث يتضمن حل قالب الصفحة ملف .php محلي قابل للقراءة خارج القالب النشط. يقوم WPSniper ببصمة الموقع، ويختار page_id منشورًا، ويجس فئة التضمين، ولا يطبع VULN إلا عندما تكون لافتة PEAR قوية فريدة من نوعها لجسم المجس.

كشف فقط. لا webshell. لا pearcmd config-create. لا تنفيذ أوامر نظام التشغيل.

root@kitploit:~
python3 WPSniper.py -u https://lab.wordpress.local --shell

خط الأنابيب:

root@kitploit:~
subfinder -d lab.example -silent | httpx -silent | python3 WPSniper.py -t 8

نطاق مكتوب. مختبر خاص. هذا هو الترخيص الكامل لتشغيله.


Redacted WPSniper lab session

الفئة

يبني WordPress اسم قالب الصفحة من متغير الاستعلام pagename المشتق من URL والمفكوك ترميزه:

page-{$pagename}.php

ثم يقوم locate_template() بتضمين ذلك الملف. في الإصدارات المتأثرة، لا يُفرض على المسار المحلول البقاء داخل دليل قالب مسموح به. ينجو اجتياز المسار المزدوج الترميز في pagename من sanitize_title بما يكفي ليقوم get_page_template() بفك ترميزه مرة واحدة والخروج من شجرة القالب.

توجد شرطان مسبقان أمام تضمين مغلق:

  1. يحتوي القالب الأبوي أو الفرعي النشط على دليل من المستوى الأعلى يبدأ اسمه بـ page- (يوثق WordPress page-templates/ — Twenty Twelve، Twenty Fourteen، Neve، Hestia، Sydney وغيرها).
  2. يوجد هدف .php قابل للقراءة لحساب خادم الويب. يستخدم الكاشف لافتات PEAR CLI الجاهزة كأداة تضمين. وهو لا يكتب واحدة.

RCE هو متابعة محتملة عندما تصطف تلك الشروط بالإضافة إلى أداة قابلة للكتابة/التنفيذ. تلك المتابعة ليست في هذا المستودع.

فضل الاكتشاف في CVE: Robert (ressl) عبر WordPress HackerOne. الاستشارة: GHSA-7hp8-65ch-5whp.


WPSniper detect flow

ما يفعله المشغل

جدول الإصدارات مدمج. 4.7.0–7.1.1 هي النافذة المتأثرة. نقاط الترقيع: 7.1.2، 7.0.6، 6.9.9، 6.8.10 … وصولاً إلى 4.7.37.

قاعدة التأكيد

صفحة تسويقية تقول "pearcmd" في منشور مدونة ليست إصابة.

VULN فقط عندما يكون كل هذا صحيحًا:

  • ملخص جسم المجس ≠ ملخص خط الأساس ?page_id=
  • رمز قوي واحد على الأقل فريد للمجس (PEAR Version:، Usage: pear، PEAR_Config، Commands for pear، config-create، DEPRECATED: PEAR commands، pear.php)
  • يُهمل الرمز الضعيف pearcmd / PEAR وحده، خاصة إذا كان موجودًا بالفعل في HTML خط الأساس

INFO = إصدار متأثر و/أو دليل page-templates، التضمين غير مغلق. لا تقدم تقريرًا حرجًا على INFO.

SAFE = فرع مرقع، أو تضمين مطابق لخط الأساس.

SKIP = ليس WordPress، URL سيئ.

/etc/passwd هو الأداة الخاطئة لهذا CVE. يضيف locate_template() اللاحقة .php. أمر passwd التفاعلي موجود لترى ذلك بنفسك. ظهور مقطع root:x:0:0: غير معتاد ويجب التحقق منه يدويًا.

التثبيت

root@kitploit:~
python3 -m pip install -r requirements.txt
python3 WPSniper.py -u https://lab.wordpress.local

يتطلب requests.

الأعلام

يُتجاهل --shell في خط الأنابيب. هذا مقصود.

الصدفة التفاعلية

root@kitploit:~
python3 WPSniper.py -u https://lab.wordpress.local --shell
root@kitploit:~
[email protected] ▶
  1 fp        version / theme / patched?
  2 pages     REST published pages
  3 theme     page-templates directory
  4 probe     PEAR include + baseline diff   (no write)
  5 diff      same, print Δ + tokens
  6 passwd    try …/etc/passwd               (this class includes *.php)
  7 include P include a .php path without suffix
  8 save      last body → /tmp/wpsniper-probe.html
  9 help
  0 exit

يطبع كل مجس URL الكامل وcurl جاهزًا للنسخ واللصق. استخدم ذلك في التقرير. لا تخترع طلبًا ثانيًا.

7 include مخصص لملف مختبر مصرح به قمت بوضعه بالفعل. اسم المثال في نص المساعدة هو علامة شاهد، وليس أداة إسقاط.

جلسة مختبرية (محجوبة)

root@kitploit:~
WPSniper v1.3   CVE-2026-87902  get_page_template LFI
[radar] target  https://lab.wordpress.local
[radar] generator=6.8.3  theme=twentytwelve  status=affected
[radar] page_id=2
[radar] theme dir /wp-content/themes/twentytwelve/page-templates/ → 403

VULN  lab.wordpress.local  unique=['PEAR Version:','Usage: pear'] Δlen=+18420

patched  7.1.2 · 7.0.6 · 6.8.10 · backports to 4.7.37

المضيف في هذه الصفحة هو تسمية مختبرية. أسماء مضيفي العملاء المباشرين لا مكان لها في لقطة عامة.

الترقيع

قم بالترقية إلى 7.1.2 أو النسخة المدعومة لفرعك:

7.0.6 · 6.9.9 · 6.8.10 · 6.7.9 · 6.6.9 · 6.5.12 · 6.4.12 · 6.3.12 · 6.2.13 · 6.1.14 · 6.0.16 · 5.9.18 … وصولاً إلى 4.7.37.

يتطلب 7.1.2 أيضًا أن يبقى مسار القالب المحلول داخل دليل قالب مسموح به. هذا هو الإصلاح الفعلي، وليس قاعدة WAF.

ما لن يفعله هذا المستودع

  • لا webshell، لا pearcmd config-create، لا غلاف system()
  • لا دليل مسح جماعي للإنترنت
  • لا ادعاء بأن كل جهاز WordPress 6.x قابل لـ RCE
  • لا /etc/passwd خام كتأكيد أساسي

إذا كنت بحاجة إلى اكتشاف: أرفق curl الذي طبعه WPSniper بالفعل، والرموز القوية الفريدة، وعدم تطابق ملخص خط الأساس.

إخلاء المسؤولية

اختبار أمني مصرح به فقط. تشغيل هذا ضد مضيف لا تملكه أو ليس لديك إذن كتابي به هو مشكلتك، وليس مشكلة الأداة.

الروابط

  • الموقع: ynsmroztas.github.io
  • X: @ynsmroztas
  • CVE: CVE-2026-87902

mitsec · Yunus Emre Öztaş

تنزيل الأداة
الخطوةالإجراءالإشارة
1الصفحة الرئيسية + generator + /feed/WordPress؟ الإصدار؟ slug القالب؟
2REST /wp-json/wp/v2/pages أو page_id= في HTMLصفحة منشورة حتى يعمل مسار القالب فعليًا
3GET /wp-content/themes/{slug}/page-templates/200 / 401 / 403 = الدليل موجود
4خط الأساس ?page_id=N مقابل مجس pagename=ملخص الجسم + رموز PEAR القوية الفريدة
العلمالمعنى
-u URLهدف واحد
-l fileقائمة URL
stdinsubfinder | httpx | WPSniper
-t Nخيوط على قائمة (افتراضي 6)
-qصفوف هادئة + ملخص
--shellمجس تفاعلي على -u واحد
--timeoutثوانٍ (افتراضي 14)