Write-up: Insecure Design + Unrestricted File Upload in Facebook and Instagram
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
مثل ما وعدت كم شخص بخصوص اكتب عن بعض ثغرات الابلود
في بداية هذا السنة استهدفت الفيسبوك والانستقرام وطلعت بأكثر من ثغرة
ثغرة سبق ونزلت فيديو عنها في تويترو لينكدان كانت ابلود ايضا على الفيسبوك
بحاول اشرح فقط الثغرات الا تطلبت طرق استغلال غير اعتيادية بين فترة وفترة
الكثير منكم يواجه مشكلة ان وقت ما يحاول يرفع ملفات في موقع او وقت ما يجد
ثغرة من نوع فايل ابلود تواجهه مشكلة ان الملف يتم رفعه على سب دومين مختلف او استروج
وهذا تعتبر نوع من انواع الحماية في الوقت الحالي حيث انك ترفع صورة او ملف تجد
ان الملف تم رفعه على استروج في الكلاود لذلك حتى لو حاولت ترفع ملف بصيغة
SVG
وفيه كود اكسس للاسف تعتبر خارج السكوب لان فعليا ما بتقدر تسرق كوكيز اي مستخدم
لان السب دومين مختلف لذلك ما بتستفيد شئ
اليوم بيتم دمج نوعين من الثغرات للحصول على افضل استغلال وهي :
Insecure Design + Unrestricted File Upload = KeyLogger
ملاحظة بلغت الفيسبوك بالثغرة وبعدها كان الرد ان الموقع يخص طرف ثالث لكن اخذت مكأفاة عليها
في كل الاحوال .
en.facebookbrand.com
en.instagram-brand.com
سجلت دخول على الموقع بشكل اعتيادي وكان الموقع فيه خانة رفع طلب
توجهت لها بشكل مباشر وجدت
خانة ابلود
حاولت اجرب اكثر من نوع ملف وهل يقبل ملف بصيغ مختلفة او لا وكانت هذا النتيجة
الان ننتقل للمرحلة الثانية محاولة اعتراض الاتصال لرؤية هل يمكن تخطى الحماية
الموجودة في الفرونت او لا
الان بعد ما تحكمنا باسم الملف هنا تعتبر ثغرة من نوع
Insecure Design
لان ببساطة اقدر استبدل اي ملف موجود اني ارفع مكانه ملف ثاني
الان تعالوا نرجع وندرس الطلب قبل الرفع
وكيف نتواصل مع الموقع
شرح للخطوات :
1- ارسال طلب للموقع باسم الملف
2-رد الموقع انه يمكنك رفع الملف وتقدر تقرء عن هذا الفنكشن الخاصة بالاستروج في الرفع وطرق التوقيع للملف والية الطلب بقوقل
3-اتواصل بشكل مباشر مع الاستروج لرفع الملف باستخدام التوقيع
طيب الان ياعبدالرحمن وين الخطورة ؟ حاولنا نرفع ملفات بصيغ مختلفة عن طريق الفرونت
وتم رفضها تعالوا الان نجرب نرفع صيغة مختلفة بشكل مباشر بدون المرور بالفرونت
عندنا القدرة نرفع فعليا اي صيغة لاي ملف ونحصل على التوقيع بشكل مباشر ونرفعه في الاستروج
وهذا تعتبر ثغرة
Unrestricted File Upload
الان لاستغلالها نحتاج شروط :
اول شرط نبحث عن ملف مرفوع في الاستروج ليتم استبداله في الموقع الاساسي الا كان هدفنا
الشرط الثاني يكون بهذا المسار طبعا في بعض الحالات ممكن نستخدم ../ للخروج من المسار
وهذا تعتبر ايضا تصميم غير امن
https://brc-data.s3.amazonaws.com/assets/
بعد قليل من البحث وجدت الملف التالي :
طالما وجدنا ملف جافا سكربت نستطيع اعادة رفع الملف مع اضافة اي كود خبيث ويكون الضرر على جميع زوار الموقع
هذا الملف يتم استدعاءه من الموقع الاساسي وبهذا الطريقة نستبدل الملف الاساسي بملف خاص فينا فيه الاستغلال
الحمد لله قدرنا نحقق اقصى استفادة من هالثغرة
نهاية هذا الدرس تعلمنا احدى طرق تخطى الساندبوكس في الابلود وكيفية استغلالها
اخيرا لا اتمنى الا دعوة منكم بظاهر الغيب
ملاحظة الشرح هذا كان بعد ترقيع الثغرة لذلك حاولت جاهدا توضيح الصورة بشكل كافي