الدرس السابع:ثغرات RFI-الجزء الأول


اهلا بكم في هذا الدرس الجديد و الذي سيدور حول ثغرة Remote File Inclusion و التي تعرف اختصارا بـ RFI،بالرغم من أن هته الثغرة قديمة و تقريبا أصبحت نادرة الوجود إﻻ أن بعض المواقع لحد الآن ﻻ تزال تعاني منها.أعلم تماما أنكم ستقولون بما أنها قديمة و نادرة الوجود فلماذا كتبت هذا الدرس إذا...ببساطة حتى تكونوا على علم بجميع الثغرات حتى و لو لم تكن ذات أهمية...زيادة خير كما يقولون.

لن يتم التفصيل في هته الثغرة كثيرا،فقط سنأخذ فكرة عامة عنها حتى نستطيع الإجابة إن سألنا أحدهم.
هذا النوع من الثغرات كان منتشرا بكثرة في المواقع التي تستخدم البرمجة العادية أي structure programming و التي كانت قبل ظهور البرمجة الكائنية OOP و قبل تطور تقنيات برمجة مواقع الويب باستخدام قواعد البيانات.
هته الثغرات تتيح لنا عمل تضمين Include لملف خبيث غير موجود في السيرفر الذي يحويه الموقع من أجل القيام بأمور تخريبية في العادة.

السبب الرئيسي في هته الثغرة هو عدم التضمين الآمن للملفات عن طريق الدوال التي تتيح ذلك،مثلا في PHP توجد أربعة دوال رئيسية لتضمين الملفات هي: include و include_once و require و require_once، توجد عدة فروقات بين هته الدوال لن نستطيع التفصيل فيها ﻷنها ببساطة ليست ضمن موضوعنا اليوم.
أكثر شيء عليكم معرفته هو أن الدوال السابقة الذكر ليست هي المسؤولة عن الثغرة و لكن المبرمج نفسه و طريقة تأمينه لتضمين الملفات.
كمثال عن تضمين غير آمن للملفات شاهد التالي:

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

تعليقات

  1. السلام عليكم أخي عبد المجيد ,
    من بين الثغرات التي يسهل استغلالها خصوصا انها لا يحتاج المهاجم الا الى ملف خبيث مرفوع على سيرفر أخر ليتم بحقنه
    شكرا لكم أخي و متبعينك أخي باذن الله

    ردحذف

إرسال تعليق

شاركنا رأيك حول الموضوع...