أمن الويب - Web Security أمن الويب - Web Security
recent

آخر الأخبار

recent
random
جاري التحميل ...

اخى الكريم , قبل اضافة التعليق تذكر قول الله تعالى "ما يلفظ من قول الا لديه رقيب عتيد"

شرح و تعريف ثغرات رفع الملفات وكيفية اكتشافها واستغلالها وحمايتها Unrestricted File Upload Vulnerability

شرح,explain,تعريف,definition,ثغرات,exploits,اخطاء,vulnerabilities,رفع,upload,ملفات,files,شل,shell,استغلال,exploiting,حماية,protection,اكتشاف,detection,غير,مقيدة,unrestricted

السلام عليكم
ازاي الحال ؟
النهاردة هيكون شرحنا طويل حبتين ي رجالة بس مفيد ان شاء الله للي حابين يعرفوا عن ثغرات Unrestricted File Upload الخاصة برفع الملفات
الشرح ده انا هقسمه ع 3 مراحل ي رجالة والشرح مصور وفي فيديو توضيحي برضو :)
اول جزء هنتكلم فيه عن ازاي نقدر نكتشف الثغرات اللي من نوع Unrestricted File Upload
تاني جزء هنتكلم فيه عن ازاي نستغلها وتالت جزء هنتكلم فيه عن ازاي نحمي الموقع او Application بتاعنا منها
اولا ي رجالة الملفات المرفوعة دي بتمثل مخاطرة كبيرة علي تطبيقات الويب, لان اول خطوة بيفكر فيها المهاجم هي الحصول علي خطأ او ثغرة
بعد كده بيحتاج بس يستثمر/يستغل الثغرة دي من خلال رفع ملف Web Shell بينجز العملية دي للمهاجم
ده بيسمح بمخاطر كبيرة وعواقب كبيرة علي Application زي مثلا الاستيلاء الكامل علي نظام التشغيل, تحميل زائد لملفات النظام او قواعد البيانات او حتي اختراقه
التهديدات اللي بتجيلك من الثغرة دي رجالة بتحصل بسبب حاجتين
اما من الملف نفسه .. يعني محتوي الملف يكون فيه web-shell او حتي file uploader او حتي backdoor او اي malicious code
واما من مكان تخزين الملفات علي السيرفر .. ودي برضو بتسبب مشاكل كتيرة اوي في الابليكشن
في عندين نوعين للثغرة دي رجالة وهما
النوع الاول بنسميه local يعني الثغرة تسمح لك برفع ملفات من داخل السيرفر فقط
النوع التاني بنسميه remote يعني الثغرة تسمح لك برفع ملفات من خارج السيرفر وده اللي منتشر واللي اخطر من النوع الاول
طيب جميل اوي دلوقتي نيجي بقي للشرح بتاعنا ي رجالة

أول جزء: ازاي نكتشف ثغرات Unrestricted File Upload
هتحتاج لمحرر نصوص زي مثلا لمستخدمي انظمة windows
notepad, notepad++, sublime text, etc..
لمستخدمي انظمة linux
sublime text, geany, blue fish, etc...
طيب جميل اوي .. الدوال المسببة في الثغرات دي رجالة دالتين
ممكن تقرأ عنهم في موقع php.net
نشوف كود بسيط كده بدون اي حماية .. لان الحماية هتكون اخر جزء في الدرس ده

<?php// Coded by ElSyadecho "<form action='".$_SERVER['PHP_SELF']."' method='POST' enctype='multipart/form-data'><input type='file' name='files' /><input type='submit' name='up' value='Upload File' /></form>";$filename = $_FILES['files']['name'];$filetmp = $_FILES['files']['tmp_name'];$foler = "";if(isset($_POST['up']) and $_POST['up'] == 'Upload File'){ move_uploaded_file($filetmp,$folder.$filename);     echo "Uploaded!!"; }?>

تاني جزء: ازاي نستثمر او نستغل ثغرات Unrestricted File Upload
استثمار الثغرة بيختلف طبعا من سكربت للتاني .. يعني ممكن يكون المبرمج عامل حماية التحقق من اسم الملف .. انت تتخطاها وهكذا
وده شرح فيديو بيوضح طريقة استغلال النوع ده في رفع ملفات .. انا عملت شرحين مش شرح عشان خاطركوا :)
شرح استغلال ثغرات Unrestricted File Upload الجزء الاول علي الرابط التالي


شرح استغلال ثغرات Unrestricted File Upload الجزء الثاني علي الرابط التالي


تالت جزء: ازاي نحمي السكربت من ثغرات Unrestricted File Upload
بالنسبة لطرق الحماية يا رجالة في اكتر من طريقة نحمي بيها نفسنا من الوقوع في اخطاء رفع الملفات
انا هحط بعض الطرق وانت ممكن تفكر في الباقي براحتك .. او تبحث علي الانترنت هتلاقي اكتر
- التحقق من صيغة الملفات اللي بيتم رفعها ودي ممكن نستخدم فيها الدالة
in_array(), array_search(), etc..
- التحقق من محتوي الملف ودي ممكن نستخدم الدالة
getimagesize();
- التحقق من امتداد الملف وده ممكن من خلال الدالة
preg_match();
explode();
- رفض تشغيل الملفات التنفيذية كلها وده من خلال rules نضعها داخل ملف htaccess
Options -ExecCGIAddHandler cgi-script .php .phtml .pl .py .ru .asp .aspx .cgi .sh .htaccess
في طرق كتيرة اوي ودوال اكتر عشان تمنع حدوث ثغرات file upload يا رجالة
لحد هنا خلصنا الدرس بتاع النهاردة
واي استفسار احنا جاهزين ان شاء الله
موفقين ~
الصياد /.

عن الكاتب

ElSyad

التعليقات


اتصل بنا

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

جميع الحقوق محفوظة

أمن الويب - Web Security