- بواسطة 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
- يتنقل مباشرة لموقع خارجي
- بدون أي تحذير
سيناريو هجوم واقعي 💣
المهاجم ممكن:- يعمل صفحة تسجيل مزيفة
- يستخدم لينك deliveroo الحقيقي
- يبعته للضحية على الإيميل أو واتساب
- الضحية تثق في الرابط وتدخل بياناتها ❌
إزاي نصلح ثغرة 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: /");
}
الخلاصة 🧠
ثغرة Open Redirect بسيطة في شكلها،لكن تأثيرها كبير جدًا على أمان المستخدم والموقع.
أي موقع بيستخدم Redirect لازم:
- يراجع الكود
- يفلتر المدخلات
- يحمي الزوار قبل أي حاجة 💙
التعديل الأخير: