منذ فترة ليست بطويلة أستطعت اكتشاف ثغرة XSS تصيب خدمة تقدمه مؤسسة Cloudflare الذي تملك خدمة الجدار الناري العالمية  ، حيث يُعتبر Cloudflare واحد من أهم المنُتجات بهذا المجال ومن الأكثر إنتشاراً ، وسبق وأن ذكرنا موضوع تحدثنا به عن الخدمة بشكل مُفصل أكثر.

 

flare

بداية القصة :

في عام 2013 بدأت بالمشاركة في برامج الجوائز وكان احد مختبري الإختراق قدم برنامج في موقعه الذي كان يعمل على WordPress فتسألت لم لا أقوم بفحص الموقع لأرى الإضافات موجودة ، فجذبني طلب ما تم في الموقع بعد رؤية الطلبات من والى الموقع :

http://securityundefined.com/cdn-cgi/pe/bag2?r[]=foo.bar/any.css

كان الموقع يقوم بتقليل الطلب او ضغط ملف ال css حسب علمي سابقاً ، كل ما قمت به هو :

http://securityundefined.com/cdn-cgi/pe/bag2?r[]=<scritp>alert(1)</script>test

جربته على متصفحات متعددة لكن فقط عمل في IE 8 وبالفعل إستغلالت ثغرة xss وبلغت عنها للموقع الذي كان يملكُه مختبر الإختراق سابقاً

وفي خلال بحثي في مواقع التي تقدم برنامج جوائز وبينما احلل طلبات الموقع تفاجئت بنفس المسار الذي وجدته منذ فترة طويلة في موقع securityundefined

http://xxxxxxxxxxxxxxxx.foo/cdn-cgi/pe/bag2?r[]=http://foo.bar/any.css

لذلك قلت لاعمل طلب GET للموقع في هذا المسار

http://xxxxxxxxxxxxxxxx.foo/cdn-cgi/pe/bag2?r[]=http://foo.bar/any.css

كان رد السيرفر هو

نلاحظ ان السيرفر باللون الاحمر هو تابع لكلاود فلير بالرغم من ان الموقع ليس له اي علاقة بشركة cloudflare لذلك علمت أن الموقع يستخدم احد خدمات كلاود فلير .

لكن هناك مشكلة صفحة الخطأ 405 Not Allowed

نحتاج الى ان نظهر صفحة ترد قيمة (?r[]=) , لذا كان غريباً ان الصفحة لم تعمل ؟! لكن الموقع يطلبها والموقع لا يطلب موارد وطلبات الى صفحات تعطي 404 او 405 كرد لذلك هناك شيء مفقود ؟؟

بعد العمل على تنصيب بروكسي بين الموقع وبين المصتفح تم تسجيل الطلب الأتي :

هناك قيمة تظهر حين يطلب الموقع المسار الاتي يسمى (PE-Token) وله قيمة طويلة مثل ما تلاحظ باللون الاحمر .

الان نعمل طلب بسيط مع وجود (PE-Token) في الطلب سيكون كالاتي :

في متصفح فايرفوكس لم يحصل شيء ولم تظهر الصفحة اصلاً في متصفح IE عمل كود الجافا سكرتب !!؟؟

قد يتبادل لذهن احد لماذا ثغرات XSS تعمل في متصفحات ولا تعمل في متصفحات اخرى

والسبب انه لكل متصفح نواة وبرمجة معينة تقبل بعض الامور وفي اخرى لا تقبلها .

وسبب عمل ثغرة الكلاود فلير هو انه الرد كان بصيغة ContentType: multipart/mixed وهذا يعني انه متعدد او مختلط لذلك الفايرفوكس يرفض عرض ملفات او صفحات كهذه بينما IE يشلغها كصفحات HTML وبذلك عملت معنا !

الان لدينا مشكلة ال(PE-Token) من اين نجلبه بعد البحث وجدت ان صفحة الخطأ 405

11-16-2015 7-51-06 PM

لو فتحت النص الاصلي او السورس كود لهذه الصفحة ستجد

mo

وبمطابقة ال  PE-Token وجدته يساوي قيمة الpetok الموجود في صفحة الخطأ

السيناريو ان يقوم الهكر بارسال صفحة ترسل طلب للموقع المراد اختراقه لسحب الرقم وإعادة ارسال طلب اخر لكن هذه في حالة ضعف في SOP يُمكن مراجعته لاحقاً ، لذلك إستطعت ان أقوم بإستغلال الثغرة في مواقع كثيرة وهذه بعض منها :

aitnews

sa3eka

أخيراً تم ابلاغ شركة كلاودفلير وقد تم اغلاق التقرير بدون اصلاح ربما تم اصلاحه الأن !؟

نتمنى أن يكون المقال قد نال إعجابكم ، ونلتقي بمقالات أخرى بإذن الله.