
إثبات مفهوم لثغرة XSS مخزنة في واجهة الويب الخاصة بجهاز Digi PortServer TS 4 H MEI، مع توضيح تنفيذ الحمولة الدائمة وتقديم إرشادات المعالجة.
تم تحديد ثغرة تخزين البرمجة النصية عبر المواقع (XSS) في واجهة الإدارة عبر الويب لجهاز Digi PortServer TS 4 H MEI. يسمح طلب مُصادق عليه ومُصمم بعناية بكتابة حمولة برمجية نصية بشكل دائم في تخزين إعدادات الجهاز. تستمر الحمولة عبر دورات تسجيل الخروج/الدخول وعمليات إعادة تشغيل الجهاز، وتنفذ في متصفح أي مستخدم يعرض لاحقًا صفحات الإعدادات المتأثرة.
| المنتج | البرنامج الثابت المُختبَر |
|---|
| Digi PortServer TS 4 H MEI | 82000747_V1 (02/06/2012) |
| Digi PortServer TS 4 H MEI | 82000747_AB (04/09/2025) |
تم العثور على حقول إدخال متعددة غير معقّمة في نماذج إعدادات الجهاز تقوم بتخزين محتوى برمجي نصي غير مُهرَّب وعكسه لاحقًا، بما في ذلك:
btRefresh — نموذج إدارة الاتصالات (/Forms/connections_mgmt_1)
txtDevice, txtContact, txtLocation — نموذج إعدادات النظام (/Forms/system_config_1)
تم إرسال الحمولات كطلبات POST مُصادق عليها إلى النماذج المتأثرة، على سبيل المثال:
POST /Forms/system_config_1 HTTP/1.1
Host: [device-ip]
Authorization: Basic [BASE64_CREDENTIAL]
Content-Type: application/x-www-form-urlencoded
... content snipped ...
txtDevice=[Vulnerable_Parameter]&txtContact=[Vulnerable_Parameter]&txtLocation=[Vulnerable_Parameter]&selOptimization=1&Submit=Apply
السلوك المُتحقق منه:
POST /Forms/connections_mgmt_1 HTTP/1.1
Host: [device-ip]
Content-Length: 17
Authorization: Basic [BASE64_CREDENTIAL]
... content snipped ...
btRefresh=[Vulnerable_Parameter]
السلوك المُتحقق منه:
<, >, ", ', &) إلى مكافئاتها من كيانات HTML قبل عرض الصفحة.