شرح ثغرات Unvalidated Redirects وتطبيقها علي موقع Kaspersky
الكاتب: ابراهيم حجازي | يوم: 04 سبتمبر, 2013 | التعليقات: 10 | القراءات: - عدد المشاهدات 56٬840
قبل أن أبدأ بشرح ثغرات ال Unvalidated Redirects
دعونا نعطي مثال بسيط حتي نفهم فكرة ال (التحويل)Redirection
المستخدم تلقي رسالة علي بريده الإلكتروني بالمحتوي التالي:
عزيزي المستخدم .. يمكنك زيارة المدونة الخاصة بموقعنا من خلال الرابط التالي:
http://www.goodsite.com/link.php?url=http://blog.goodsite.com
إذا عندما يقوم المستخدم بالضغط علي الرابط بالإعلي فإنه سيتم توجيهة إلي http://blog.goodsite.com
إذا كيف يمكن إستغلال الرابط أعلاه؟
الأمر بسيط جدا .. حيث سيقوم المهاجم/المخترق بإستبدال الرابط الذي سيتم تحويل المستخدم إليه برابط آخر تابع له حتي يتم تحويل المستخدم إلي موقع المهاجم.
مثال:
عزيزي المستخدم .. يمكنك زيارة المدونة الخاصة بموقعنا من خلال الرابط التالي:
http://www.goodsite.com/link.php?url=http://blog.attacker.com
إذا عندما يقوم المستخدم بالضغط علي الرابط بالإعلي فإنه سيتم توجيهة إليhttp://blog.attacker.com
ولكن كما تري فقد تم تحويل المستخدم من خلال موقع goodsite.com والذي يفترض به ان يكون موقع موثوق لدي المستخدمين.
ما هي الخطورة التي ستقع علي المستخدم من خلال هذا النوع من الثغرات؟
1- تحويل المستخدم إلي صفحات تسجيل دخول مزورة شبيهه تماما لنفس صفحة تسجيل الدخول الخاصة بالموقع الأصلي وربما يكون إسم النطاق(Domain name) أيضا شبيه لنفس إسم النطاق الخاص بالموقع الأصلي وبالتالي سرقة بيانات تسجيل الدخول الخاصة بالمستخدم.
مثال: بدلا من أن يتم تحويلك لموقع الفيس بوك www.facebook.com يتم تحويلك لموقع www.faecbook.com هل لاحظت الفارق؟
2- تنزيل ملفات خبيثة (Trojans) علي أجهزة المستخدمين .. حيث يمكن للمهاجم تحويل المستخدم علي صفحه تستغل ثغرة في البرمجيات المنصبة علي جهاز المستخدم .. برمجيات مثل Java, Flash Player, Adobe Reader وغيرها
إذا ما السبب في حدوث تلك الثغرة؟ وكيف للمبرمج أن يحمي نفسه منها؟
الخطأ ان المبرمج لا يستخدم أي نوع من أنواع التحقق(validation) حتي يتأكد من الرابط الذي سيتم تحويل المستخدم إليه!
بعض طرق الحماية من تلك الثغرة:
1- Security Tokens
ما هي ال Security tokens
هي أرقام يتم تكوينها بنوع ما من التشفير(علي حسب المبرمج) وكمثال فهي تكون تجميعه من رابط الموقع + التوقيت الحالي + Salt
مثال:
“TRIffZRIE_yke-3Z1pxFaHaDC5FOPEXEGx6LpRZdjW”
فيصبح الرابط بالشكل التالي:
http://www.goodsite.com/link.php?url=http://blog.goodsite.com&token=TRIffZRIE_yke-3Z1pxFaHaDC5FOPEXEGx6LpRZdjW
اذا وظيفة الToken في هذه الحالة هي التأكد من أن الرابط الذي سيتم تحويل المستخدم إليه هو رابط موثوق منه ومسجل في قاعدة بيانات الموقع ولم يتم التلاعب به لان كل رابط يكون له Security Token واحد فقط.
2- Black & White List
حيث يقوم المبرمج بإنشاء قائمة من المواقع الموثوق بها والتي يتم تحويل المستخدمين إليها وما عدا تلك المواقع فلا يتم تحويل المستخدم الي أي شئ اخر بل يظهر صفحة خطا في حالة تم التلاعب بالموقع الذي يتم تحويل المستخدم إليه.
نأتي هنا لمثال عملي علي موقع شركة Kaspersky عملاق شركات إنتاج برمجيات الأمن المعلوماتي .. حيث كان الموقع مصاب بثغرة من هذا النوع الذي نتحدث عنه اليوم
وفي الفيديو التالي نجد انه تم إستغلال الثغرة بطريقة المحاكاة لمحاكاة إستغلال الثغرة من قبل الهاكرز واستخدامها في نشر الملفات الخبيثة (Trojans) مستغلين إسم وثقة Kaspersky لدي المستخدمين.
تخيل معي عزيزي القارئ رابط يأتيك من شركة كاسبرسكي(وهي مصدر موثوق لا محاله) ويطلب منك تحميل ملف! أو صفحه يتم تحويلك إليها من موقع كاسبركي وتطلب منك بيانات معينه او تعرض عليك تنزيل آخر إصدار من برنامج كاسبرسكي المدفوع وبشكل مجاني!
“أكثر المصادر ثقة لك .. قد يكون هو عدوك الأسوء!”
الفيديو للمزيد من التفاصيل:
الثغرة في الفيديو تم إكتشافها من قبل كاتب الموضوع وتم إبلاغها لشركة كاسبرسكي فور إكتشافها وهي مرقعه في الوقت الحالي.
خبير أمن معلومات مصري , متخصص في تجربة إختراق تطبيقات الويب و أمن الشبكات و متحدث في عدة مؤتمرات دولية عن أمن المعلومات , تم مكآفأته و إدراج اسمه عدة مرات على حائط الشكر بموقع Google , Ebay , Microsoft , Yandex وتم تكريمة من قبل Yahoo و Avira و Barracuda.
يمكنكم التواصل مع الكاتب عبر حسابة علي تويتر @Zigoo0
التعليقات:
اترك تعليقاً | عدد التعليقات: (10)
موضوع اكثر من رائع اشكر مجهوداتكم خاصتا ان هذا الموضوع حيوى جدا واغلب المستخدمين يقعون فى شباك القراصنة الخبيثة
many many thanks to our Arab InfoSec professional, pentester & Consultant Ibrahim Hijazy. Make sure that many people follow your news and the new vulnerability you are discovering, and we are glad to see an Arab guy doing that many times 🙂
Can you please guide the beginners and other levels here about the best practical resources/books in the web application penetration testing field.
كالعاده اقل مايقال عنك انك مبدع
تسلم ايدك ياابراهيم …. ومن نجاح لنجاح ياصديقى
@مينا: مرحبا بك وان شاء الله يكون الموضوع عند حسن ظنك 🙂
@nader: أهﻻ بك أخي وشكرا لك علي كلماتك فهذا مديح لا أستحقه ..
بالنسبة لسؤالك اخي فضلا إنتظر المواضيع القادمة فهي ان شاء الله ستضع خارطة لمن يريد التعمق في هذا المجال عن ما الذي يبدأ به ويمر بماذا والي ماذا ينتهي .. ان شاء الله سيتم طرحها قريبا جدا 🙂
@Magdy: أعزك الله اخي أسال الله التوفيق لنا جميعا.
السلام عليكم
ماشاء الله عليك اخوي استفدنا منك كثير
اخي وعزيزي المهندس ابراهيم
اخوك يدرس دكتوراة أمن الحاسب
والحقيقة اني كنت بعيد عن التخصص لفترة لظروف العمل والان انا اعود
فياليت تنصحني بموضوع ممتاز وله مستقبل ويفيد المسلمين لعمل رسالة الدكتوراة في ويكون فيه جديد
جزاك الله خيرا
شكرا أخي ابراهيم …. في انتظار المواضيع القادمة 🙂
http://asesino04.blogspot.com/2013/11/facebook-open-url-redirection.html
هذي ثغرة في الفيسبوك ترقعت منذ يومين
يشيخ الله يوفقك ويسعدك ويفتحها بوجهك ويزيدك يارب علم والله ينفعلك يارب ب الدارين ويجعل جميع ماتعمله ف موازين حسناتك اللهم آمين يارب
الفيديو مش مبين عندي عشان اشغله واشوفه ارجو المساعدة
جازاك الله خيرا على هـذه المعلومات المفيدة و لك مني ازكى التحيات.