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

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

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

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

دليل الأدوات

الفئات

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

pfsense-timezone-phpini

pfSense CE 2.9.0-DEVELOPMENT - عالي - عن بُعد - RCE - timezone php.ini prepend

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - pfsense-timezone-phpini

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

pfsense-timezone-phpini

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

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

يكتب system.php قيمة $_POST['timezone'] دون أي in_array مقابل system_get_timezone_list(). الدالة is_timezone() ترفض فقط الشرطة المائلة اللاحقة. يكتب system_timezone_configure الملف /var/db/zoneinfo. يُدرج rc.php_ini_setup القيمة date.timezone="${TIMEZONE}" في php.ini. علامة الاقتباس مع سطر جديد تضيف auto_prepend_file.

IDلا يوجد CVE بعد
الفئةRCE
الوصولعن بُعد (WebGUI موثّق ما لم يُذكر خلاف ذلك)
CWECWE-94
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)
المصادقةجلسة WebGUI مع page-system-generalsetup
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1 فقط

ثبّتُّ الفرع العام master عند 9363ac5. المختبر عبارة عن PHP gadget لنقطة الوصول المثبّتة، HTTP عبر loopback على 127.0.0.1:18940.

مقال السلسلة: https://abraxaslabs.tech/research/pfsense-ce-leftovers

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

الطريقةنقطة الوصولالصلاحية
POST system.php timezonerc.php_ini_setup date.timezone="${TIMEZONE}"السلامة: مُثبت مختبرياً: ملف php.ini المُولَّد قَبِل auto_prepend_file؛ php -c مع سكربت مماثل لـ php-fpm شغّل prepend وكتب الشاهد.
نفس الثغرة المتبقيةنفس نقطة الوصولالاستطلاع: مُستنتج: يعمل prepend بصلاحيات root PHP بعد إعادة بناء php.ini / إعادة تشغيل php-fpm.
نفس الثغرة المتبقيةنفس نقطة الوصولالتوافر: مُستنتج: ملف php.ini معطوب قد يُسقط الواجهة الرسومية حتى إصلاحه.

يتطلب: page-system-generalsetup. حماية CSRF-magic على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحيات root.

يتطلب: page-system-generalsetup. حماية CSRF-magic على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحيات root. حماية CSRF-magic على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحيات root.

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

Form_Select للواجهة فقط. hostname/domain لديهما فحوصات مجموعة محارف خاصة بهما. غير موثّق غير متاح.

لا يوجد Diagnostics: Command إلا إذا كانت تلك الصفحة ممنوحة أيضاً.

المختبر

cd lab
./run.sh

Loopback 127.0.0.1:18940. مشروع Compose pfsense-timezone-phpini. الشاهد PFSENSE-TIMEZONE-PHPINI-WITNESS. Loopback فقط: 127.0.0.1:18940. مشروع Compose pfsense-timezone-phpini. الشاهد PFSENSE-TIMEZONE-PHPINI-WITNESS. PHP gadget للأسطر المثبّتة. تُفكَّك الحزمة بعد التشغيل.

السطر الأخير:

SUCCESS PFSENSE-TIMEZONE-PHPINI control-clean=yes trigger-prepend=yes is-timezone-accepts=yes not-allowlisted=yes PFSENSE-TIMEZONE-PHPINI-WITNESS

الإصلاح

استخدام in_array للتحقق من timezone مقابل system_get_timezone_list(). تهريب علامات الاقتباس في إدراج rc.php_ini_setup.

المراجع

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • CWE-94
  • السلسلة: https://abraxaslabs.tech/research/pfsense-ce-leftovers
تنزيل الأداة