Account takeover using Login by Google

ثغرة أمنية تسبب في الوصول الى جميع حسابات المستخدمين من خلال الدخول عن طريق Google

0xhunterمنذ 3 سنوات

مساء الخير

ندخل مباشرة في صلب الموضوع

مقدمة #

كثير نشوف تطبيقات تستخدم تسجيل الدخول عن طريق Google او Facebook كـ وسيلة لعملية تسجيل الدخول " السريع " وهذا يسمى بالطرف الثالث 

ودائماً اذا النظام فيه طرف ثالث لابد يكون فيه token_access متصل بين التطبيق وبين الطرف الثالث يكون غرضه هو التعريف عن المستخدم

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

الهدف #

عندنا هذا التطبيق راح نسوي إختبار أختراق ونشوف عملية إستغلال الثغرة كيف بتكون

إسم التطبيق : PicsArt

موقع التطبيق : https://picsart.com/

تحميل التطبيق على الاندرويد : https://play.google.com/store/apps/details?id=com.picsart.studio

اول ما نحمل التطبيق راح نشوف في الواجهه يطلب مننا تسجيل الدخول عبر Google or Facebook

بنسوي Network Debugger ونشوف إتصالات التطبيق في عملية تسجيل الدخول ونبدأ نحللها

التحليل #

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

كل اللي سواها فقط انه اعتمد على المتغير id اللي يحتوي على القيمة : 101484151462246108348

وهذي القيمة هي الـ id الخاص بإيميلي [email protected] اللي تم استخراجها من Google API

وبعد ارسال الـ Request تم استخراج الـ key وباقي معلومات الحساب كامله في خانة الـ Response

المراسلة #

الجدير بالذكر بالنسبة لي , انه بعد ما تم إرسال الثغرة إلى الجهه المسؤولة ..

إعتمدوها كثغرة أمنية خطيرة لابد من معالجتها بأسرع وقت ممكن , بس صدمني بسؤال ما كنت اتوقعه !

قال لي , اذا كنت فعلاً قادر انك تستغل هالثغره ( بشكل قوي )

جرب ادخل على حسابي لو تقدر , وعطاني ايميله الـ gmail

انا هنا واجهة مشكلة وهي , كيف استخرج الـ id تبع ايميله عشان اقدر استعرض بيانات حسابه كامله مثل الصورة اللي فوق ؟

بالذات أن خدمة Google Plus تم اغلاقها https://plus.google.com/u/2/?pli=1 

الحل #

بعد بحث ومحاولات كثيييرة توصلت لنتيجة ممتازة

وهي عن طريق إنشاء جهة إتصال عبر https://contacts.google.com/

وبالفعل سويت جهة إتصال جديدة وحطيت إيميله وقدرت استخرج الـ id من خلال Google Chrome > Inspect > Network 

وبعد توضيح جميع الخطوات للجهة المسؤولة , تم قبول الثغرة واعتمادها ..

الهدف من هذي المقالة هي إضافة تجربة جديدة في عقلك الباطني عشان لو يوم من الأيام فحصت نظام مثل كذا

تكون هذي أحد الطرق اللي تفيدك في التحليل وإكتشاف الثغرات

 

بالتوفيق للجميع 

 

كلمات دليلية: account bugbounty takeover
0
إعجاب
1663
مشاهدات
0
مشاركة
2
متابع

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !