شرح اكتشاف ثغرة اعادة التوجيه OpenRedirect

x32x01
  • بواسطة x32x01 ||

شرح اكتشاف ثغرة Open Redirect في موقع deliveroo.co.uk 🔓​

ثغرة Open Redirect من الثغرات المنتشرة جدًا في مواقع الويب، وبتكون سبب مباشر في هجمات خطيرة زي Phishing والتصيد الاحتيالي 😈
في البوست ده هنشرح الثغرة ببساطة، وهنشوف مثال عملي حقيقي، وكمان إزاي نقدر نصلحها.

ما هي ثغرة Open Redirect؟ 🤔​

ثغرة Open Redirect (أو Unvalidated Redirect) بتحصل لما الموقع يعمل إعادة توجيه للمستخدم من غير ما يتأكد إن الرابط اللي هيوديه عليه آمن أو تابع للموقع نفسه.
ببساطة:
  • المستخدم يضغط على لينك
  • الموقع يعمله Redirect
  • بس الوجهة ممكن تكون موقع خبيث 🚨
المشكلة إن الضحية بتثق في اسم الدومين الأصلي، وده بيسهّل جدًا هجمات الهندسة الاجتماعية.


ليه ثغرة Open Redirect خطيرة؟ ⚠️​

خطورة الثغرة دي بتظهر في:
  • هجمات Phishing وسرقة البيانات
  • توجيه المستخدم لمواقع مزورة
  • نشر روابط ضارة باسم موقع موثوق
  • استغلالها مع ثغرات تانية (XSS - OAuth)
وده بيأثر على:
  • أمان المستخدم
  • سمعة الموقع
  • ترتيب الموقع في محركات البحث ❌


شرح الثغرة في موقع deliveroo.co.uk 🧪​

الموقع بيستخدم باراميتر اسمه app_url لإعادة توجيه المستخدم،
لكن المشكلة إنه مش بيعمل تحقق من قيمة الباراميتر.

الرابط الأساسي:​

Code:
https://deliveroo.co.uk/en?$link_path=/&$app_url=
الموقع هنا مستني قيمة، بس من غير أي فلترة أو تحقق.


إثبات الثغرة (POC) 🔥​

نقدر نستغل الثغرة بسهولة عن طريق إضافة أي موقع خارجي:
Code:
https://deliveroo.co.uk/en?$link_path=/&$app_url=https://www.yahoo.com
📌 النتيجة:
  • المستخدم يضغط على لينك deliveroo
  • يتنقل مباشرة لموقع خارجي
  • بدون أي تحذير
وده يثبت وجود Open Redirect Vulnerability بشكل واضح.


سيناريو هجوم واقعي 💣​

المهاجم ممكن:
  • يعمل صفحة تسجيل مزيفة
  • يستخدم لينك deliveroo الحقيقي
  • يبعته للضحية على الإيميل أو واتساب
  • الضحية تثق في الرابط وتدخل بياناتها ❌
وده مثال كلاسيك على Phishing Attack.


إزاي نصلح ثغرة Open Redirect؟ 🛠️​

علشان تحمي موقعك من الثغرة دي، اتبع النصايح دي:
  • حاول تمنع إعادة التوجيه لو مش محتاجها
  • استخدم Whitelist للروابط المسموح بيها
  • ارفض أي URL خارجي
  • تحقق من الباراميتر قبل التنفيذ
  • درّب فريق التطوير على أخطار الثغرات دي

مثال كود توضيحي (Pseudo Code):​

PHP:
$allowed_urls = [
    'https://deliveroo.co.uk/home',
    'https://deliveroo.co.uk/profile'
];

if (in_array($app_url, $allowed_urls)) {
    header("Location: $app_url");
} else {
    header("Location: /");
}
✅ كده ضمنت إن أي Redirect هيكون آمن.


الخلاصة 🧠​

ثغرة Open Redirect بسيطة في شكلها،
لكن تأثيرها كبير جدًا على أمان المستخدم والموقع.
أي موقع بيستخدم Redirect لازم:
  • يراجع الكود
  • يفلتر المدخلات
  • يحمي الزوار قبل أي حاجة 💙
 
التعديل الأخير:
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
999
x32x01
x32x01
x32x01
الردود
0
المشاهدات
71
x32x01
x32x01
x32x01
الردود
0
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
0
المشاهدات
714
x32x01
x32x01
x32x01
الردود
1
المشاهدات
1K
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
2,297
المشاركات
2,508
أعضاء أكتب كود
554
أخر عضو
عبدالله
عودة
أعلى