شرح explain كيف how to اكتشاف detect or find استغلال exploit حماية prevent or protect لوكال local فايل file داونلود download دسكلوزر disclosure اخطاء bugs اصابات vulnerability ثغرات exploits فى in بى اتش بى php
السلام عليكم
ازيكم يا رجالة واخباركم ؟
النهاردة هنشوف مع بعض درس حلو وخفيف ان شاء الله
فى درسنا النهاردة هنشرح ازاى نكتشف ونستغل ونحمى الثغرات اللى من النوع Local File Download/Disclosure واللى بيكون اختصارها LFD
طيب اول حاجة يا رجالة احنا ان شاء الله هنقسم الدرس بتاعنا على 3 اجزاء بس فى موضوع واحد
طيب حلو اوى نبتدى على بركة الله يا رجالة
اول جزء وهو طرق الاكتشاف طبعا ممكن لو OS بتاعك Windows تستخدم اى برنامج زى Notepad , Notepad++ , Rapidphp
ولو OS بتاعك Linux ممكن تشتغل باى برنامج زى Gedit , Geany
طيب نبتدى مع بعض يا رجالة
ممكن انك تبحث عن الملفات المشكوكة زى مثلا
backup.sql db_back.php backup.php
ممكن كمان تلاقيهم بملفات عادية ولكن المبرمج وقع فى الخطأ وسبب انه يحدث ثغرة
نشوف مع بعض ازاى نكتشف من خلال البحث داخل الملفات
ايه هيا vulnerabilities Functions اللى هندور عليها طيب نشوفهم مع بعض ونشرح كام واحدة منهم
readfile();
show_source();
highlight_file();
file_get_contents();
وغيرهم يا رجالة بس خلينا نكتفى بدول بالوقت الحالى احنا هنشرح على اول اتنين على طول
ونخلى بالنا من حاجة ان الدوال دى وظيفتها قرائة محتوى الملفات مش بتستدعيها خلى بالك من النقطة دى
طيب حلو اوى نبتدى على بركة الله باول دالة وهيا
readfile();
نشوف مع بعض الكود التالى يا رجالة
<?php
readfile($_GET['file']);
?>
حلو اوى نشوف دالة كمان وهيا
show_source();
طيب نشوف الكود التالى
<?php
show_source($_GET['file']);
?>
طيب نكتفى بدول يا رجالة لحد دلوقتى تمام كده
الجزء التانى والى هو ازاى يتم استغلال الثغرات اللى من النوع ده
زى اما احنا قولنا الثغرات دى بتسمحلى انى اقرأ/أحمل اى ملف على السيرفر او على الموقع المصاب نفسه
نشوف على بركة الله اول استغلال لينا مع الدالة readfile
الدالة دى يا رجالة بتقرأ ليا الملف اللى انا بطلبه منها وممكن تجبلك صفحة بيضاء ساعتها تعمل View Source وهتلاقى محتوى الملف فى وشك
نشوف مثال عندى على الصورة التالية
طيب حلو زى ما احنا شفنا لما عملنا View Source ظهرلنا محتوى الملف كله
نشوف مثال تانى على الدالة show_source
الدالة دى يا رجالة برضو نفس الوظيفة بس دى مش بتحتاج انك تعمل View Source وتجبلك المحتوى بتاع الكود بالالوان :)
نشوف صورة الجاية
زى ما احنا شوفنا فوق يا رجالة مع بعض
وفى بعض الاوقات ممكن لما تيجى تطلب اى ملف يطلب منك انك تحمل الملف ودى تسمى ب Local File Download
وهيا هيا نفس الدوال يا رجالة يعنى النوع ده يعتبر مدمج فى بعضه او بمعنى اوضح انه نوع واحد زى ما وضحت فى اول الموضوع
وبخصوص النوع ده يا رجالة من الثغرات
ممكن نقرأ/نحمل ملف الكونفج الخاص بالموقع المصاب بالثغرة
طيب طرق الاستفادة كتيرة جدا وكلها من خلال التخمين من خلال الباسورد الخاص بال Database اللى بيكون فى ملف Configuration
1 - اول حاجة نروح على Database Host , ونشوفه اذا كان اى حاجة غير localhost يبقى هنا فى احتمال انه يكون مفعل خاصية RC لخدمة mySQL وساعتها نقدر نتصل بالDatabase من على بعد ودى من خلال اى سكربت بيعمل اتصال بالداتا بيز او برنامج بيعمل الوظيفة دى
2- نجرب الباس على لوحة التحكم الخاصة بالموقع نفسه وهنا قصدى على cPanel اذا كان مركبها
3- نجرب الباس على لوحة التحكم الخاصة بالسكربت ودى بتختلف من سكربت لتانى زى مثلا الفى بوليتن اللوحة الافتراضية بتكون admincp وهكذا
4- نجرب الباس على اى عضوية من عضويات الادارة
5- نجرب الباس على الايميل الخاص بالادمن او اى ايميل خاص باى مدير بالموقع
6- فى بعض السكربتات بيكون فى FTP DATA زى سكربت Joomla كده وساعتها نقدر نعمل اتصال على FTP
وغيرهم من الطرق وكل واحد وتفكيره يا رجالة
الجزء الثالث وهو طرق الحماية
طيب ممكن ببساطة نعمل التالى
ممكن نحاول نفلتر Dot اللى هيا النقطة "."
ونفس الكلام لل BackSlash , Slash اللى هما "/" , "\"
نمنع دوال تنفيذ الاوامر
نمع دول القراءة اللى وضحتهم فوق
نيجى بقى لشرحنا الفديو يا رجالة
احنا هنشوف مع بعض ازاى نستغل النوع ده من الثغرات لحد ما نرفع شل فى الفديو اللى على الرابط التالى
لتحميل الشرح على مركز اب زيرو
اى استفسار او اضافة اهلا بيها يا رجالة
تحياتى للجميع
الصياد /.
اخى الكريم , قبل اضافة التعليق تذكر قول الله تعالى "ما يلفظ من قول الا لديه رقيب عتيد"