قبل اكثر من سنتين قامت شركة تويتر بعمل برنامج جوائز تم استضافته على منصة hackerone  وبدا الهكر من كل العالم بمحاولة اكتشاف الثغرات

انا كنت مشارك سابقا في برنامج تويتر الخاص بالابلاغ في 2013 او 2014 وبلغت لمدة عامين ثغرات لهم ومن المواقع التي بلغت ثغرات فيها كان التطبيق الشهير vine

فاين هو

تطبيق خدمة إستضافة فيديو بشكل صغير حيث يمكن لمستخدميه مشاركة حلقات لمقاطع فيديو طولها ستة ثواني. أسست الخدمة في يونيو 2012، وتحصل عليها موقع التدوين المصغر تويتر في أكتوبر 2012، قبل إطلاقه بشكلٍ رسمي. تنشر مقاطع فيديو المستخدمين خلال الشبكة الإجتماعية لفاين كما يمكن مشاركتها على خدمات أخرى مثل فيسبوك وتويتر. كما يمكن استخدام تطبيق فاين أيضًا لتصفح مقاطع الفيديو التي ينشرها مستخدمون أخرون،إلى جانب مجموعات من الفيديوهات حسب الموضوع ، والاتجاه، أو الفيديوهات الأكثر شعبي . [1]

في عام 2014 تم اضافة تطبيق فاين لبرنامج الجوائز انا كعادتي اصل متاخراً بسبب الدراسة وجدت مقال نشره احد الاصدقاء عن اكتشافه لثغرة XSS في موقع vine.co وحصل على 1400 دولار .

لذلك فتحت موقع vine وبدات البحث  . باعتبار ان المنصة مألوفة بالنسبة لي .

الاكتشاف 

بعد تذكر الخصائص والصلاحيات وعمل بعض الاختبارات لنقاط الendpoint الخاصة بVine api لم اجد شيء مثير للاهتمام .

دخلت الى لوحة تحكم المستخدم

 

9-20-2016-6-31-02-pm

 

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

حاولت ان اغير الايميل الى ايميل موجود في حساب اخر

 

9-20-2016-6-31-38-pm

 

لكن حين ضغطت Save ظهرت لي هذه الشاشة

 

9-20-2016-6-32-01-pm

 

هذه الشاشة لم تكن موجودة في المرة السابقة وفي الحقيقة انا من اقترح على فريق تويتر ان يضع اختبار امان قبل تغير الايميل حتى يتم حماية تغير الايميل من الCSRF وال XSS . لذلك هذه احد الاصلاحات التي قاموا بها بعد ان بلغت الثغرات في العام الماضي .

 

حاولت ان اعمل Brute force لكن اعادة تسجيل الدخول لا تقبل اكثر من عشر محاولات .

لكن لاحظت شيء غريب ان الايميل الذي تم ادخاله لم يظهر في طلب اعادة تسجيل الدخول

 

 

9-20-2016-7-03-40-pm

 

مررت الطلب بكلمة مرور غير صحية تم رفض طلب التغير . وحين وضعت كلمة المرور الصحيحة ظهر الطلب الاتي

 

9-20-2016-7-06-03-pm

مع الايميل الجديد ما قمت به هو ارسال هذا الطلب الى المكرر (repeater) في اداة burp suite .

 

ثم راجعت الطلب هو مثل اي طلب في الموقع (لم يتم اضافة رموز او اي نوع من الtoken) لذلك جربت ان اعيد الطلب اكثر من مرة وفي كل مرة تم تغير الايميل !!

 

جميل الان نحن قادرين على تغير الايميل بدون ادخال اسم وباسورد وهذه ثغرة مفيدة في حال تمكن المستخدم من الوصول الملموس لجهاز المستخدم او حصوله على الكوكيز .

كل ما قمت به هو القيام بطلب تغير الرابط وتحويل نهاية الطلب الى

 

 

واضافة نوع الفورم عن طريق http header

واضافة متغير الemail في الbody

النتيجة كل مرة كانت الرد ب200 ok

9-20-2016-7-30-45-pm

هذا فيديو للاستغلال

وتم الطلب ايضا بدون اي مشاكل وتخطي اعادة تسجيل الدخول الان وقت الابلاغ لشركة تويتر

واستلمت الرد في نفس اليوم

9-20-2016-7-14-01-pm

تم تسجيل الثغرة وسوف يتم التحقيق بها انا ذهب لاستراح بعد كتابة التقرير المفصل

وبعد يومين استملت رد محبط للغاية

9-20-2016-7-15-07-pm

ملخص العبارة تم اغلاق التقرير ولن يتم تصليحه لان نظام الفاين في هواتف IOS لا تطلب باسورد في تغير الايميل لذلك اخذوا هذا النمط حتى في الموقع . الرد غير مقنع باي طريق لان الثغرة التي تم ابلاغها موجودة في موقع الويب وليس في تطبيق IOS لو ليدك عيب امني في تطبيق الهاتف لا يعني انه يجب ان يكون الموقع مصاب بهذا العيب ايضا .

كنت محبط لذلك كتبت لهم رسالة من عدة نقاط ساذكر بعض منها :

  • 1- انا ابلغت ثغرة في نطاق VINE.CO وليس لي اي علاقة بتطبيق الهاتف الخاص بكم .
  • هل هذا نوع جديد من الدعم حين تكون تملك مشكلة في تطبيق الهاتف يجب ان تعممها على الموقع ايضا ؟
  • الموقع به حماية وتم تخطيها ماذا يجب ان يفعل المختبر حتى يتم مكافئته ؟

ونقاط اخرى شرحت فيها موقفي طبعا مع كامل احترامي لفريق تويتر بدون اي اسائة شرحت ما كنت اتوقعه من الفريق وشرحت الثغرة اكثر وما يمكن القيام به .

وبعد يومين تم الرد علي من قبل فريق تويتر بقول “حتى لو كان تطبيق الهاتف لا يحتاج الى رمز الدخول يجب علينا ان نقوم باصلاح الميكانيكة المعطوبة في الموقع  بطريقة او باخرى” وتم تسجيل الثغرة وبعد ايام قليلة تم مكافئتي ب 420$ . والبارحة تم اصلاح الثغرة .

9-20-2016-7-22-10-pm

وهذه كانت تجربتي مع فريق تويتر

الخلاصة

حتى لو كان قبلك الف مخترق محترف ممكن بمجرد ان تفكر خارج الصندوق او تجرب اشياء “منطقية” سوف تجد الثغرة التي لم يجدها من هو افضل منك . بالاضافة الى انه يجب الانتباه الى كل طلب يتم ارساله واستقباله وتحليله منطقياً ثم تقنياً

 

ويجب ان تعمل باحتراف ولا تغضب في حال سوء فهم او عدم قبول ثغرتك فالقرار الاخير يعود للفريق وبما ان فريق تويتر محترف تعامل مع المشكلة باحترافية وشفافية كاملة

 

اذا كان لديك اي استفسار تواصل مع في تويتر هنا

 

تحياتي وتحيات فريق isecur1ty