مقال : تطبيق عملي على ثغرة Unrestricted File Upload في أحد برامج مُكافئات Facebook
في عام 2015 وحين كنت اشارك في برامج الجوائز كانت شركة فيس بوك قد أدخلت نطاقات شركة Oculus في برامج الجوائز وكان نطاق الرئيسي للشركة هو https://developer.oculusvr.com دخلت للموقع وحين بحثت وجدت نطاق اخر للشركة يتم استخدامه للاجابة على الاسئلة كمنصة Q&A . دخلت للموقع وبدأت البحث في موقع answers.oculus.com.
البداية
في بداية البحث وجدت انك يمكن ان تعلق بصورة ضمن الملحقات لذلك هناك امكانية رفع لنجرب ثغرة Unrestricted File Upload ، حين ترفع صورة فان الموقع يقوم بارسال رسالة الى السيرفر للتاكد ان الصيغة هي صيغة صورة (gif,png,jpg..etc) فاذا كانت كذلك سيقوم بعمل POST للسيرفر يحتوي على (image=true) وبعدها سيوافق السيرفر على الرفع .
كأي طلب عادي من قبل الفورم سيتم عمل اضافة (Content-Type) لتحديد نوع الصيغة المرفوعة . قمت بعمل مقاطعة للطب عن طريق البروكسي . وتغير الContent type من image/jpge الى text/xml لملف xml تم تعديله ليصبح بصيغة jpg . وقدمت الطلب .
كانت النتيجة ان الملف تم رفعه باسم xxml.jpg ولكن السيرفر لم يقرأ الصيغة من الاسم ولكن من الContent-type الذي تم ارساله من الفورم
بذلك تم تاكيد ان الموقع مصاب لانه الاداة كانت تضيف الصور كمحلقات وتم رفع ملف لا يعد صورة وتشغيله في الموقع لذلك جربت مجموعة صيغ منها php و aspx و asp و jsp وhtml كان السيرفر يُرجع لنا خطأ 500 server error.
ما هو الملف المفيد الذي يمكن رفعه ويسبب ضرر كبير للموقع غير الملفات هذه طبعاً لا خيار غير ملفات “SWF”
يمكن استعمالها بشكل كبير في حالة ايجاد قدرة على رفعها في موقع منها :
- امكانية عمل استغلال XSS خاص بالموقع .
- عمل Open rediect
- تنصيب ثغرات معينة للمتصفحات
- تخطي SOP
الإستغلال
هناك أداة مُبرمجة من قبل evilcos مفتوحة المصدر إسمها XSS.swf حيث إستخدمناها لإستغلال الثغرة بهذه الخطوات :
- حفظ ملف xss.swf بواسطة فتحه باي برنامج وحفظه باسم xss.jpg .
- رفع الملف ومقاطعة الطلب .
- تغير الContent type الى application/x-shockwave-flash .
- تقديم الطلب .
يمكنك مشاهدة الاستغلال من خلال الفيديو ادناه
https://www.youtube.com/watch?time_continue=11&v=V81PwOgUVyE
بعدما قُمنا بما سبق تم رفع الملف بنجاح كما نرى بهذه الصورة !
بذلك تم اكتشاف وتطبيق الثغرة وتم مراسلة شركة فيس بوك من اجل الاصلاح ، لكن فيس بوك ردت بالصورة التالية :
الموقع تابع لخدمة ثالثة تسمى Answerhub ويمكنك الاتصال بهم من اجل الحل
وجدت ثغرة اخرى تستخدم الملف لتحويل الaccess tokens وسرقتها لكن كان قد تم الابلاغ عنها سابقاً حيث تبين لاحقاً ان هذه خدمة مدفوعة وتستخدمها العديد من الشركات مثل Ebay و IBM.
تم الاتصال بالشركة المبرمجة وتم حل المشكلة الان وتم شكري في ملاحظات النسخة الجديدة
http://answerhub.com/releases/changelogs/answerhub-1.6.3-release-change-log
يمكنكم ايضا مشاهدة المقال السابق حول ثغرات Unrestricted File Upload من هنا
ارجو ان تكونوا استفدتم من المقال ولأي استفسار تواصلوا معي او اتركوا تعليقاً هنا .
شكر جزيلا على المجهود
مشكور جدا
هل يمكن إستغلالها لرفع مرفات php أو html أو شئ من هذا القبيل أرجوا الرد على سؤالي