سوء إعداد CORS
عكس الأصل والثقة بالأصل null ومطابقة لاحقة المضيف الطرق الثلاث التي تدع بها سياسة CORS المتساهلة موقعا معاديا يقرأ بيانات مصادق عليها
- المسار
- أمن الويب
- الوقت المتوقع
- 20 د
- المستوى
- متوسط
قبل هذا الدرس
سياسة المصدر الواحد تمنع موقعا من قراءة ردود موقع آخر المصادق عليها و CORS هو كيف يخفف الخادم ذلك عمدا وسياسة CORS المهملة تسلم المفتاح لأي موقع يزوره الضحية والتركيبة الخطرة واحدة دائما السماح بالاعتماد مع ترويسة سماح أصل يستطيع المهاجم أن يسمى فيها
ما هي الثغرة؟
- عكس الأصل الخادم يعكس أي Origin يصله في ترويسة السماح مع الاعتماد فكل أصل ومنه أصل المهاجم مسموح
- الأصل null الخادم يضيف null إلى المسموح لكن null هو بالضبط ما ترسله صفحة في إطار معزول أو عنوان data فينتجه المهاجم متى شاء
- مطابقة اللاحقة الخادم يسمح بأي مضيف ينتهي بـ ravens.lab فيمر evil-ravens.lab وهو نطاق يسجله المهاجم
لماذا تحدث؟
السماح بالاعتماد لا يجتمع مع العلامة الشاملة فيلجأ المبرمج لقيمة ديناميكية يعكس الأصل أو يطابقه بتساهل وكل اختصار يحول قائمة السماح إلى الجميع
كيف تتوقف؟
احتفظ بقائمة سماح ثابتة بأصول موثوقة تامة وطابقها بمطابقة تامة لا تعكس أصل الطلب ولا تسمح بـ null ولا تستخدم فحص لاحقة أو احتواء وإن كان الرد لا يحتاج اعتمادا فلا تضع ترويسة السماح بالاعتماد إطلاقا
اللابات الثلاثة أدناه تمشي هذا اقرأ الرد من أصل معكوس ومن null ومن تجاوز مطابقة اللاحقة
اللابات
عكس الأصل
محلولسهللاب في المتصفح
اجعل صفحة على أصلك تقرأ رد الحساب
ادخل اللابمقفلالأصل null
محلولمتوسطلاب في المتصفح
اقرأ رد الحساب باستخدام الأصل null
ادخل اللابمقفلمطابقة اللاحقة
محلولصعبلاب في المتصفح
اقرأ رد الحساب من أصل يتجاوز فحص اللاحقة
ادخل اللابمقفل
