في الأونة الأخيرة ازداد ظهور ثغرات الOpen redirect وهي عبارة عن صفحة في موقع ما تقوم بتحويلك لموقع أخر من دون انذار وبذلك يتم خداع بعض المستخدمين عن طريقها .

 

كيف ؟

لو فرضنا انك رايت رابط غريب لموقع أرسله لك شخص مجهول . هل ستدخل الرابط في حال كنت تعلم انه رابط مشبوه ؟

 

بالتأكيد لا … لكن ماذا لو قام أحد بارسال رابط موقع فيس بوك,يوتيوب , تويتر ؟ لن تتردد في دخوله طبعاً .

هنا يكمن سر Open redirect فهو خدع للضحية لدخول رابط معين وتوجيه الى صفحة أخرى بدون اعلامه .

 

مثال عملي

لو كان لدينا صفحة في php تحتوي على هذا الكود

 

123432423

وفي الصفحة يوجد رابط يقوم بتحويلك الى موقع اخر تابع للموقع كالاتي :

http://vulnsite.com/?url=http://test.vulnsite.com/faq.php

 

الان لنرى كيف يتم أكتشاف الثغرة

 

بمجرد ان نزيل الموقع المحول له ونضع موقع أخر غير تابع للموقع ونرى هل يتم التحويل في حال حصولنا على رد 302 من السيرفر فكل شيء صحيح والموقع مصاب .

 

الان نضع موقعنا لنرى

http://vulnsite.com/?url=http://www.isecur1ty.org/test

بمجر ان يضغط احد على الرابط سوف يدخل موقع vulnsite.com ولكنه سوف يتكم تحويله تلقائياً الى موقع isecur1ty.org .

ما الفائدة من ثغرات التحويل المفتوح ؟

  • التصيد phishing .
  • تحميل ملفات ضارة للمستخدم .

 

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

 

 حل المشكلة :

لو جئت لموقع فيس بوك وبه خاصية التحويل للصفحات الفرعية ولمواقع اخرى عن طريق ملف (l.php) وبالمتغير (u)

 

https://www.facebook.com/l.php?u=https://www.facebook.com/isecur1ty&h=8AQFPMWtp

وقمنا بتغيره كالاتي :

 

https://www.facebook.com/l.php?u=https://www.evilsite.com/isecur1ty&h=8AQFPMWtp

والان نضغط على ذهاب سيتم تحويلك لصفحة تخبرك انك ستذهب لموقع evilsite.com وهذا نوع من الحماية ..

كيف عرف الفيس بوك ؟ لو لاحظت الرابط هناك متغير اخر ( h=8AQFPMWtp ) في الرابط هذا هو عبارة عن متغير مميز لكل رابط ولكل مستخدم يتغير دائماً ويتم مطابقته مع الموقع لكي لا يتم عمل ثغرة تحويل مفتوح .

تم ايجاد العديد من ثغرات التحويل المفتوح وتم اغلاقها بواسطة فيس بوك وقيمة الجائزة تتراوح بين 1000 دولار و 500 دولار لهذه الثغرات .

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

أسماء اخرى للثغرة

  • Cross-site Redirect
  • Cross-domain Redirect
  • Open Redirect

 

الحماية 

وضع توقيت لكل رابط مع رقم مميز يتم توليده في حال احتجت لملف يقوم بتحويل الروابط لكن في حالة عدم احتياجك لا مشكلة بذلك .

 

كمثال

 

http://mysite.com/url?u=http://myothersite.com&time=12345&hash=CVM44ERQ

روابط لثغرات تم أكتشافها سابقاً