Account takeover using Login by Google
ثغرة أمنية تسبب في الوصول الى جميع حسابات المستخدمين من خلال الدخول عن طريق Google
مساء الخير
ندخل مباشرة في صلب الموضوع
مقدمة #
كثير نشوف تطبيقات تستخدم تسجيل الدخول عن طريق 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
وبعد توضيح جميع الخطوات للجهة المسؤولة , تم قبول الثغرة واعتمادها ..
الهدف من هذي المقالة هي إضافة تجربة جديدة في عقلك الباطني عشان لو يوم من الأيام فحصت نظام مثل كذا
تكون هذي أحد الطرق اللي تفيدك في التحليل وإكتشاف الثغرات
بالتوفيق للجميع
التعليقات (0)
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !