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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
pfsense-limiter-number — pfSense CE 2.9.0-DEVELOPMENT - عالي - عن بُعد - RCE - limiter number dnctl | Kitploit
أدوات/GitHubGitHub/abraxas/pfsense-limiter-number
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالقيادة والسيطرةالفريق الأحمرمختبرات وتدريب عملي
GitHubabraxas/pfsense-limiter-number

pfsense-limiter-number

pfSense CE 2.9.0-DEVELOPMENT - عالي - عن بُعد - RCE - limiter number dnctl

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - pfsense-limiter-number

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-limiter-number

pfsense-limiter-number

الفئة: RCE الوصول: عن بُعد

pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org

تُصدر محددات Traffic Shaper حقلاً مخفياً number عند التحرير. تقوم عملية الإنشاء بالكتابة فوق هذا الرقم باستخدام dnpipe_find_nextnumber(). أما التحرير فلا يفعل ذلك. لا يتحقق validate_input أبداً من number. يتم دمج GetNumber() بدون علامات اقتباس في dnctl pipe|sched|queue delete. الأمر PHP mwexec هو /bin/sh -c. الصلاحية هي page-firewall-trafficshaper-limiter، وليس Diagnostics: Command.

IDلا يوجد CVE بعد
الفئةRCE
الوصولعن بُعد (WebGUI موثّق)
CWECWE-78
CVSSمرتفع: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
المنتجpfSense CE
المتأثر2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) حقل number للمحدد
المصادقةجلسة WebGUI مع page-firewall-trafficshaper-limiter
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1 فقط

قمت بتثبيت الفرع العام الرئيسي 9363ac5. المختبر عبارة عن أداة PHP مثبّتة لـ ReadConfig / SetNumber / delete_queue. Loopback 127.0.0.1:18840.

ما يمكن للمهاجم فعله

الطريقةنقطة الوصولالصلاحية
إنشاء محدد، ثم POST save مع number من المهاجم، ثم حذف ذلك المحددmwexec("/sbin/dnctl pipe delete " . $this->GetNumber()) (shaper.inc:3820)السلامة (مُثبتة مختبرياً): صدفة root. المختبر: edit-delete كتب الشاهد (edit-delete-exec=yes). الكتابة فوق الإنشاء ومسار apply-file لم يكتبا شيئاً.
نفس صدفة rootنظام ملفات المضيفالاستطلاع (مُستنتج): config.xml، المفاتيح.
صدفة root أو dnctl بأرقام المهاجمdummynetالتوافر (مُستنتج): تعطيل المحدد / dummynet.

مُثبت مختبرياً مقابل مُستنتج: الكتابة فوق الإنشاء (بدون شاهد)، ومسار apply-file (dnctl لملف، بدون شاهد)، وتنفيذ edit-delete (شاهد) مُثبتة مختبرياً. استطلاع نظام الملفات مُستنتج من root PHP-FPM.

يتطلب: جلسة WebGUI مع page-firewall-trafficshaper-limiter. CSRF على POST save. الحذف هو GET action=delete.

السطح المجاور الذي يبقى مغلقاً

السطحالمختبر
مسار الإنشاءdnpipe_find_nextnumber() يكتب فوقه، create-overwrites=yes
مسار التطبيقdnctl لـ /tmp/rules.limiter، اسم الملف غير متحكم به من المستخدم، apply-file=yes
مجموعة أحرف اسم المحدد^[a-zA-Z0-9_-]+$
غير موثّقمغلق
Diagnostics: Commandيبقى مغلقاً ما لم يُمنح أيضاً

معاملات AQM في /tmp/rules.limiter هي لغة dummynet إضافية، وليست هذه البقايا.

المختبر

cd lab
./run.sh

Loopback 127.0.0.1:18840. مشروع Compose pfsense-limiter-number. وسم الصورة pfsense-limiter-number:2.9.0-dev. الشاهد PFSENSE-LIMITER-NUMBER-WITNESS. السطر الأخير:

SUCCESS PFSENSE-LIMITER-NUMBER create-overwrites=yes apply-file=yes edit-delete-exec=yes PFSENSE-LIMITER-NUMBER-WITNESS

الإصلاح

حوّل GetNumber() إلى int قبل كل dnctl. تجاهل number القادم من POST عند التحرير، أو تحقق من نطاقه مقابل معرّف dummynet الحيّ. الإنشاء يكتب فوقه بالفعل؛ اجعل التحرير يفعل الشيء نفسه.

المراجع

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • shaper.inc delete_queue / GetNumber
  • firewall_shaper_vinterface.php
  • CWE-78
تنزيل الأداة