الاختطاف بالنقر Clickjacking
تأطير صفحة حساسة بلا حماية وتعطيل كاسر إطار بجافاسكربت عبر sandbox ومسار قديم يحميه ترويسة مهجورة
- المسار
- أمن الويب
- الوقت المتوقع
- 18 د
- المستوى
- مبتدئ
قبل هذا الدرس
الاختطاف بالنقر يحمل صفحتك الحقيقية المسجل دخولها داخل إطار خفي على موقع المهاجم ثم يضع فوقها طبقة خادعة لعبة أو زر اربح جائزة فوق عنصر حساس بالضبط تظن أنك تضغط الطبعة الخادعة لكن الضغطة تقع على الصفحة المؤطرة فتؤدي فعلا حقيقيا باسمك والحماية أن تخبر المتصفح من يحق له تأطير الصفحة إن وجد
ما هي الثغرة؟
- لا حماية الصفحة لا تضع X-Frame-Options ولا CSP frame-ancestors فيؤطرها أي موقع
- كاسر إطار بجافاسكربت فقط الصفحة تحاول الخروج من الإطار بجافاسكربت فيحملها المهاجم في إطار sandbox لا يستطيع التنقل بنافذة الأعلى فلا يعمل الكاسر
- تغطية جزئية أو مهجورة المسار الرئيسي محمي لكن مسارا قديما يؤدي نفس الفعل يستخدم X-Frame-Options ALLOW-FROM المهجورة التي تتجاهلها المتصفحات الحديثة
لماذا تحدث؟
حماية التأطير ترويسة يجب أن يفرضها المتصفح لكن يسهل نسيانها على بعض المسارات أو محاولتها بجافاسكربت الصفحة أو كتابتها بتوجيه أسقطته المتصفحات منذ سنوات
كيف تتوقف؟
أرسل CSP frame-ancestors none أو self على كل رد يمكن أن يؤدي أو يكشف شيئا حساسا بشكل افتراضي لا لكل صفحة وأضف X-Frame-Options DENY للمتصفحات القديمة ولا تعتمد على كاسر إطار بجافاسكربت ولا تستخدم ALLOW-FROM
اللابات الثلاثة أدناه تمشي هذا أطر صفحة بلا حماية وعطل كاسر إطار بالsandbox وأطر مسارا قديما بترويسة ميتة
اللابات
لا حماية من التأطير
محلولسهللاب في المتصفح
أطر صفحة الإجراء واسرق ضغطة الضحية
ادخل اللابمقفلتجاوز كاسر الإطار
محلولمتوسطلاب في المتصفح
عطل كاسر الإطار بوضع الإطار في sandbox واسرق الضغطة
ادخل اللابمقفلترويسة مهجورة
محلولصعبلاب في المتصفح
أطر المسار القديم غير المحمي فعليا واسرق الضغطة
ادخل اللابمقفل
