
pfSense CE 2.9.0-DEVELOPMENT - متوسط - عن بُعد - كتابة ملف - مسار ذاكرة DynDNS المؤقتة
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · pfsense-dyndns-cache-path
الفئة: كتابة ملف الوصول: عن بُعد
pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org
المضيف المخصص يتخطى is_domain(). يقوم updatedns ببناء مسار ذاكرة التخزين المؤقت كـ /conf/dyndns_{if}{type} بالإضافة إلى escapeshellarg($FQDN) بالإضافة إلى {id}.cache. علامات الاقتباس هي بايتات اسم الملف؛ ولا يزال / يقسم المسار. المحتوى هو IP|epoch، وليس صدفة.
| المعرّف | لا يوجد CVE بعد |
| الفئة | كتابة ملف |
| الوصول | عن بُعد (WebGUI موثّق ما لم يُذكر خلاف ذلك) |
| CWE | CWE-22 |
| CVSS | متوسط: 5.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N |
| المنتج | pfSense CE |
| المتأثر | 2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) |
| المصادقة | جلسة WebGUI مع page-services-dynamicdnsclient |
| الترخيص | GNU Affero GPL v3.0 |
| المختبر | 127.0.0.1 فقط |
قمت بتثبيت الفرع العام الرئيسي 9363ac5. المختبر عبارة عن أداة PHP من نقطة الوصول المثبّتة، HTTP عبر الاسترجاع المحلي على 127.0.0.1:19270.
مقال السلسلة: https://abraxaslabs.tech/research/pfsense-ce-leftovers
| الطريقة | نقطة الوصول | الصلاحية |
|---|---|---|
| POST services_dyndns_edit.php اسم مضيف مخصص مع / | file_put_contents مسار ذاكرة التخزين المؤقت باستخدام escapeshellarg($FQDN) | السلامة: مُثبت مختبريًا: اسم مضيف مع / كتب IP |
| نفس البقايا | نفس نقطة الوصول | الاستطلاع: لا شيء. المحتوى هو IP |
| نفس البقايا | نفس نقطة الوصول | التوافر: مُستنتج: الكتابة فوق ملف يتطابق اسمه مع اللاحقة المُقتبسة. |
يتطلب: page-services-dynamicdnsclient. حماية CSRF على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحيات root.
يتطلب: page-services-dynamicdnsclient. حماية CSRF على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحيات root. حماية CSRF على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحيات root.
غير موثّق. mwexec لـ FQDN. تنفيذ cron/php لـ *.cache. dyndns غير المخصص يرفض ذلك المضيف.
لا يوجد Diagnostics: Command ما لم تُمنح تلك الصفحة أيضًا.
cd lab
./run.sh
الاسترجاع المحلي 127.0.0.1:19270. مشروع Compose pfsense-dyndns-cache-path. الشاهد PFSENSE-DYNDNS-CACHE-PATH-WITNESS. الاسترجاع المحلي فقط: 127.0.0.1:19270. مشروع Compose pfsense-dyndns-cache-path. الشاهد PFSENSE-DYNDNS-CACHE-PATH-WITNESS. أداة PHP للأسطر المثبّتة. يتم تفكيك الحزمة بعد التشغيل.
السطر الأخير:
SUCCESS PFSENSE-DYNDNS-CACHE-PATH control-under-conf=yes trigger-outside-conf=yes PFSENSE-DYNDNS-CACHE-PATH-WITNESS
لا تستخدم escapeshellarg كاسم ملف. استخدم basename / is_domain للمضيف.
9363ac5b8651a1c7a333180425ce7719070f95f9