كيفية منع ثغرات تحميل الملف

كيفية منع ثغرات تحميل الملف
القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

تعد وحدات تحميل الملفات من أضعف الروابط في تطبيقات الويب. قد يؤدي ارتكاب أي أخطاء ، حتى تلك التي تعتبرها صغيرة ، إلى وقوع التحكم في الخادم مباشرة في أيدي المخترق الإلكتروني. لهذا السبب ، يحتاج مطورو البرامج إلى معرفة الأخطاء الأكثر شيوعًا وبعض طرق الهجوم التي يمكن أن تحدث.





اجعل فيديو اليوم

إذن ما هو العبث من جانب العميل؟ كيف يمكنك مكافحة ذلك للحفاظ على أمان مواقعك ومستخدميك؟





ما هو العبث من جانب العميل؟

العبث من جانب العميل هو المفهوم الأساسي لهجمات تطبيقات الويب ككل. ببساطة ، هذا يعني أنه لم يعد بإمكانك الوثوق بأي من البيانات التي ترسلها إلى المستخدم. بالإضافة إلى ذلك ، يعد العبث من جانب العميل أحد أسس تطوير التطبيقات الآمنة. إذا قمت بفحص وحدة تحميل الملفات التي تتعامل معها وفكرت في العبث من جانب العميل ، فإن البيانات التي لا تثق بها تتضمن:





  • اسم الملف المرفوع.
  • نوع محتوى الملف الذي تم تحميله.

هذين العنصرين حيث لديك الفرصة لإدراجها في القائمة البيضاء كمطور برمجيات. يمكن أن تحتوي بيانات اسم الملف الذي تم تحميله على أي شيء مع العبث من جانب العميل. باستخدام بيانات نوع المحتوى للملف الذي تم تحميله ، حتى إذا قام المهاجم بتحميل ملف. exe ، فقد يظهر هذا الملف كصورة / jpeg في النظام.

امتداد الملف والقائمة البيضاء

 التحقق من امتدادات الملفات المرفوعة على النظام

أثناء تطوير وحدات تحميل الملفات ، فإن أول شيء يجب فعله هو عملية القائمة البيضاء لملحق الملف . على سبيل المثال ، يريد المستخدم تحميل ملف باسم 'muo.jpeg'. يجب عليك التأكد من أن امتداد الملف الذي يريد المستخدم تحميله هو .jpeg. لهذا ، يجب على النظام التحقق من الملف الذي تم تحميله ومعرفة ما إذا كان أحد امتدادات الملفات المسموح بها. لفهم كيفية القيام بذلك ، قم بفحص كود PHP البسيط التالي:



$file_parts = pathinfo($filename);
switch($file_parts['extension'])
{
case "jpg":
break;

case "bat": // Or exe, dll, so, etc.
break;

case "":
case NULL: // No file extension
break;
}

يمكنك القيام بذلك باستخدام كتلة تعليمات برمجية مشابهة لتلك الموجودة أعلاه ، أو يمكنك استخدام الفئات والوظائف التي يوفرها إطار العمل الذي تستخدمه.