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

x32x01
  • بواسطة x32x01 ||
  • #1

شرح اكتشاف ثغرة 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
المشاهدات
425
x32x01
x32x01
x32x01
الردود
6
المشاهدات
964
x32x01
x32x01
x32x01
الردود
0
المشاهدات
994
x32x01
x32x01
x32x01
الردود
0
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
0
المشاهدات
681
x32x01
x32x01
الوسوم : الوسوم
owasp phishing secure coding unvalidated redirect whitelist أمن تطبيقات الويب ثغرة open redirect حماية الروابط حماية المستخدمين فلترة المدخلات
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟

آخر المشاركات

إحصائيات المنتدى
المواضيع
2,388
المشاركات
2,601
أعضاء أكتب كود
574
أخر عضو
الياس
عودة
أعلى