مقال : شرح Path Disclosure
السلام عليكم
في الكثير من الاحيان تسمع حول Path Disclosure كثغرة لكن اليوم سنوضح ما هو Path Disclosure ولماذا يستعمل .
اولاً : ما هو Path Disclosure
كشف المسار او Path Disclosure هو عبارة عن طلب او صفحة تقوم بعرض مسار الملف الحقيقي في السيرفر مع اعطاء معلومات حول صيغة الملف والمجلد الموجود به وهي ليست ثغرة بقدر ما هي كشف للمعلومات على السيرفر . ولهذه المعلومات فوائد سوف نقوم بعدها في نهاية المقال .
سبب ظهور المسار الافتراضي ؟
تعد رسائل الاخطاء في الصفحات هي السبب الرئيسي (غالباً) في ظهور مسار الملف الذي يحصل فيه الخطاً وهذه تعد فائدة للمطور لكشف الملف الذي يعرقل عمل التطبيق او الموقع وهذا سببه mis-configuration في السيرفر نفسه او في الصفحة يمكن تلافي هذه الاخطاء عن طريق منع ظهورها من خلال ملف ترتيب السيرفر config سنعرض الاصلاح لكل سيرفر ايضاً ولكل لغة برمجة .
ظهور المسار يكون خطراً في بعض الحالات وليس دائماً .
شكل صفحات الاخطاء :
صفحات asp و aspx في سيرفرات IIS
صفحات php
فواد كشف المسار
- معرفة اصدار السيرفر .
- معرفة سلوك التطبيق او الموقع من خلال ادخال مدخلات برمجية مثل ‘ او @ , % ^ & ! <>
- في حالة اكتشاف ثغرة LFI ستعرف اين يمكنك العثور على الملفات المهمة .
- معرفة نوع الWEB APP المستخدم من خلال معرفة الملفات ومجلداتها .
- اكتشاف اسم المدير .
اكتشاف المسارات الخطرة
لنفرض انه ظهر هذا المسار في الصفحة
1- /var/www/html
هذا المسار غير خطر ولا يوجد به اي معلومات فهو المسار الافتراض في سيرفرات ليونكس الخاص ب apache لذلك لا يمكن الحصول على معلومات مفيدة منه .
2-/home/abdullah/public_html/
في هذا المثال ظهر اسم المستخدم abdullah في السيرفر وهذا امر خطير يمكن من خلاله اخذ هذا الاسم وعمل هجوم تخمين في ssh او في سيرفر ftp سوف نقوم بتطبيق مثال في الدرس القادم .
3- /var/www/html/script-name/admin/auth.php
في هذا السمار تم كشف اسم السكربت ومسار لوحة الادمن لذلك يمكن البحث عن اسم السكربت ومحاولة اكتشاف ثغرات به .
قد يحصل في بعض الاحيان ظهور ملفات او مسارات خارج مسار webroot لكن هذا نادر في حال حصول المهاجم على هذه العلومات من الممكن ان يقوم بمهاجمة ذاك المصدر في حال حصوله على ثغرة LFI .
اصلاح صفحات php
يمكن اصلاح صفحات php حتى لا تظهر المسار باضافة هذا السطر في بداية الصفحة لفهم الدالة اكثر هنا .
error_reporting(0);x
اصلا صفحات asp في سيرفر iis
في ملف السيرفر اضف
<customErrors mode=”Off”/>
في سيرفرات apache
ابحن عن ملف php.ini وضع هذا الكود في السطر الاخير او اي سطر
display_errors = Off
ملاحظات للمطورين
في حال انك مطور ويب لذلك ترغب كثيراً في معرفة سلوك التطبيق او الموقع الذي تعمل عليه لذلك في حال تعطيل خاصية الابلاغ عن الاخطاء سيكون من الصعب عليك تحديد الملف الذي يعرقل البرنامج . نصيحتي لك ان تعمل على السيرفر الداخلي (locathost) وحين ترفع التطبيق او السكربت الى السيرفر حاول ان تقلل ظهور الاخطاء او يمكنك برمجة صفحة للاخطاء تظهر المعلومات التي تحتاجها في debugger بالاضافة الى انه لا يعد امر سيء اظهار المسار في بعض الاحيان لك
في موقع ورد بريس ينصح المبرمجون الى تعطيل صفحات الاخطاء
سوف ننشر debugger امن في اقرب وقت لمطوري php بالمجان سنعلن عنه فور الانتهاء منه
لاي استفسار يمكنكم التواصل معي عبر حسابي في تويتر من هنا
تحياتي وتحيات فريق isecur1ty
شرح جميل عاشت يدك
ممكن تجاوب على سؤال هذا صارلي تقريبا سبوع احاول ان افهم طرية استغلال هذا النوع من الثغرات كما اعتقد لكن دون جدوى
هل يمكنني ان استغلالها كثغرة وكذالك الخطأ ينتج عند ادخال ‘ او اي مدخل ثاني يقوم بالكشف على ثغرات sql_injection
الشيء الذي لم افهمه هو ان امتداد الصفحات لا يتنهي بـ PHP او asp بالينتهي ب_(cfm)
وهذه صورة توضح المشكلة
http://e.top4top.net/p_198l8q31.png
#وشكرا
الأمر عادي أخي الكريم
السيرفر يعمل على نظام windos server وخدمة قواعد البيانات هي MSSQL
يوجد شروحات لكيفية الحقن في هذه البيئة
إبحث عن حقن الـMSSQL وستجد ضالتك
لا يهم إنك كان cfm أو asp
شكرا لك اخي العزيز بارك الله فيك
الموقع يعمل على ColdFusion وهي لغة برمجة مستقلة حسب علمي
نعم واعتقد هذه اللغة هي لشركة ادوبي خاصة للسيرفر ويب ؟!
كما في هذه الصفحة
http://www.adobe.com/products/coldfusion-family.html
على كل مع الاسف الموقع المصاب هو موقع عربي ذو نشاط جيد
احببت ان اعمل تقرير كامل لهذه الثغرة وارسله لادارة الموقع لكن لم استطيع استغلالها وتحديد خطورتها
اما يا اخي Mhammad Al Abdullah لا اعتقد الثغرة mssql لانني حاولت ان احقنها على كثير من ادوات حقن mssql لم ينفع حتى في الحقن اليدوي لم يجدي نتيجة
على كل شكرا لكم
مرحبا
مشكور على الموضوع الرائع ..
سؤالي : بخوصوص ظهور رابط الملف كاملا في صفحة الموقع .. مثال (www.some link / load_contents.php)
ماذا يمكن للهاكر ان يستغل هاته المعلومة .. مع العلم انا استخدم (الجافا ) كي أنادي للملف و اعرض بواسطته تعاليق المستخدمين كل 1 ثانية يقوم بالتحديث.
شكرا جزيلا لك