
pfSense CE 2.9.0-DEVELOPMENT - متوسط - عن بُعد - XSS - اسم مستخدم LDAP في head.inc
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · pfsense-auth-username-xss
الفئة: XSS الوصول: عن بُعد
pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org
عنوان تسجيل الخروج في head.inc يُدرج $_SESSION['Username'] بشكل خام. كما أن Form_StaticText في passwordmg خام أيضًا. مجموعة المحارف المحلية ترفض المُشغِّل؛ أسماء LDAP تتجاوزه.
| المعرّف | لا يوجد CVE بعد |
| الفئة | XSS |
| الوصول | عن بُعد (WebGUI مُصادَق عليه ما لم يُذكر خلاف ذلك) |
| CWE | CWE-79 |
| CVSS | متوسط: 5.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N |
| المنتج | pfSense CE |
| المتأثر | 2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) |
| المصادقة | جلسة WebGUI مع LDAP/RADIUS WebGUI session |
| الترخيص | GNU Affero GPL v3.0 |
| المختبر | 127.0.0.1 فقط |
ثبّتُّ الفرع العام master عند 9363ac5. المختبر عبارة عن أداة PHP تحاكي نقطة الوصول المثبّتة، عبر HTTP على واجهة الاسترجاع 127.0.0.1:19170.
مقال السلسلة: https://abraxaslabs.tech/research/pfsense-ce-leftovers
| الطريقة | نقطة الوصول | الصلاحية |
|---|---|---|
| تسجيل دخول LDAP باسم مستخدم يكسر علامة الاقتباس | عنوان تسجيل الخروج في head.inc logout title="Logout ({$_SESSION['Username']}@$system_url)" | السلامة: مُثبَت مختبريًا: كسر الاقتباس الخام في HTML تسجيل الخروج وStaticText. |
| نفس البقايا | نفس نقطة الوصول | الاستطلاع: مُثبَت مختبريًا: اسم مستخدم الجلسة ينعكس على كل صفحة مُصادَق عليها تتضمن head.inc. |
| نفس البقايا | نفس نقطة الوصول | التوافر: لا شيء مُثبَت. |
يتطلب: LDAP/RADIUS WebGUI session. حماية CSRF-magic على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحيات root.
يتطلب: LDAP/RADIUS WebGUI session. حماية CSRF-magic على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحيات root. حماية CSRF-magic على POST ما لم يُذكر خلاف ذلك. WebGUI PHP-FPM يعمل بصلاحيات root.
مجموعة المحارف المحلية [^a-zA-Z0-9.-_]. htmlspecialchars($system_url). غير مُصادَق عليه: لا ينطبق.
لا يوجد Diagnostics: Command إلا إذا كانت تلك الصفحة ممنوحة أيضًا.
cd lab
./run.sh
واجهة الاسترجاع 127.0.0.1:19170. مشروع Compose باسم pfsense-auth-username-xss. الشاهد PFSENSE-AUTH-USERNAME-XSS-WITNESS. واجهة الاسترجاع فقط: 127.0.0.1:19170. مشروع Compose باسم pfsense-auth-username-xss. الشاهد PFSENSE-AUTH-USERNAME-XSS-WITNESS. أداة PHP تحاكي الأسطر المثبّتة. تُفكَّك الحزمة بعد التشغيل.
السطر الأخير:
SUCCESS PFSENSE-AUTH-USERNAME-XSS control-admin-encoded=yes trigger-quote-break=yes witness-unescaped=yes local-charset-blocks-trigger=yes PFSENSE-AUTH-USERNAME-XSS-WITNESS
تطبيق htmlspecialchars على اسم مستخدم الجلسة في head.inc وpasswordmg.
9363ac5b8651a1c7a333180425ce7719070f95f9