هجوم Clickjacking: كيف يتم اختراق المستخدمين بصمت في تطبيقات الويب؟

Professor Technology

هجوم Clickjacking: كيف يتم اختراق المستخدمين بصمت في تطبيقات الويب؟

يُعد هجوم Clickjacking أو ما يُعرف بـ UI Redressing من أخطر هجمات اختراق تطبيقات الويب، ليس لأنه يعتمد على كود معقد، بل لأنه يستغل العامل الأضعف دائمًا: المستخدم.
هذا الهجوم يمكن أن يؤدي إلى تنفيذ أوامر حساسة دون علم الضحية، مثل تغيير إعدادات الحساب، تفعيل صلاحيات، أو حتى تنفيذ عمليات مالية.

في هذا المقال سنشرح هجوم Clickjacking بشكل عملي وعميق، مع أمثلة واقعية، طرق الاستغلال، آليات الحماية، ولماذا لا يزال هذا الهجوم فعالًا حتى اليوم.

ما هو هجوم Clickjacking؟

Clickjacking هو هجوم يعتمد على خداع المستخدم للنقر على عنصر غير مرئي أو مضلل، بينما يعتقد أنه ينقر على شيء آخر.

يقوم المهاجم عادةً بـ:

  • إنشاء صفحة ويب خبيثة
  • تضمين صفحة شرعية داخل <iframe>
  • إخفاء الإطار أو جعله شفافًا
  • وضع زر مزيف فوقه (مثل: Play، Download، Verify)

📌 عندما ينقر المستخدم، يتم تنفيذ الإجراء الحقيقي داخل الصفحة المخبأة.

كيف يعمل هجوم Clickjacking تقنيًا؟

السيناريو النموذجي للهجوم:

1. المهاجم يختار صفحة شرعية تحتوي على إجراء حساس
(مثل: تغيير الإعدادات – تفعيل خاصية – زر تحويل)

2. يتم تضمين الصفحة داخل iframe

3. يتم تقليل الشفافية (opacity: 0)

4. يتم وضع زر جذاب فوقها

5. المستخدم ينقر… والهجوم يتم

مثال مبسط:

المستخدم يظن أنه ينقر على:

> ▶️ تشغيل فيديو

لكن في الحقيقة هو ينقر على:

> 🔒 تفعيل خاصية خطيرة في حسابه

مثال عملي على Clickjacking (Conceptual)

<iframe src="https://target-site.com/settings"
        style="opacity:0; position:absolute; top:0; left:0; width:100%; height:100%;">
</iframe>

<button style="position:relative;">
  ▶️ Play Video
</button>

⚠️ هذا المثال للتوضيح التعليمي فقط.

لماذا يعتبر Clickjacking خطيرًا؟

لأن الهجوم:

  • لا يتطلب اختراق السيرفر
  • لا يحتاج تجاوز مصادقة
  • لا يترك Logs واضحة
  • يعتمد على سلوك المستخدم الطبيعي

🎯 يمكن استغلاله في:

  • تغيير إعدادات الحساب
  • تفعيل 2FA مزيف
  • الموافقة على أذونات
  • تنفيذ CSRF بشكل غير مباشر

أنواع هجوم Clickjacking

1️⃣ Classic Clickjacking

إطار مخفي بالكامل مع زر مزيف فوقه.

2️⃣ Likejacking

إجبار المستخدم على الإعجاب بصفحات أو محتوى دون علمه.

3️⃣ Cursorjacking

تحريك المؤشر بصريًا لإجبار المستخدم على النقر في مكان آخر.

4️⃣ Nested Clickjacking

استخدام أكثر من طبقة iframe لخداع أكثر تعقيدًا.

لماذا لا تكتشف أدوات الفحص Clickjacking بسهولة؟

لأن:

  • الثغرة تعتمد على سلوك المستخدم
  • لا تظهر في Responses
  • لا تكسر Authentication
  • تحتاج تحليل واجهة المستخدم (UI Logic)

ولهذا تعتبر من الثغرات الشائعة التي:

> ❌ يتجاهلها المبتدئون

✅ يكتشفها المحترفون

كيفية الحماية من هجوم Clickjacking

1️⃣ استخدام HTTP Header: X-Frame-Options

X-Frame-Options: DENY

أو:

X-Frame-Options: SAMEORIGIN

2️⃣ استخدام Content-Security-Policy (الأفضل)

Content-Security-Policy: frame-ancestors 'none';

أو:

frame-ancestors 'self';

✅ هذه الطريقة هي الأكثر أمانًا وحداثة.

3️⃣ حماية الإجراءات الحساسة

  • تأكيدات إضافية
  • إعادة إدخال كلمة المرور
  • Tokens ديناميكية

كيف تختبر Clickjacking كمختبر اختراق؟

1. افحص وجود:

  • X-Frame-Options
  • CSP frame-ancestors

2. حاول تضمين الصفحة داخل iframe

3. اختبر الصفحات الحساسة فقط

4. راقب التفاعل وليس الكود فقط

🔧 أدوات مساعدة:

  • Burp Suite
  • Browser DevTools
  • Clickjacking Test Pages

هل Clickjacking ما زال فعالًا في 2025؟

✅ نعم، وبشدة
خاصة في:

  • التطبيقات القديمة
  • لوحات التحكم
  • الأنظمة الداخلية
  • صفحات الإعدادات
  • والسبب الرئيسي؟

> الإهمال في إعداد Headers الأمنية

الخلاصة

هجوم Clickjacking ليس مجرد ثغرة بسيطة، بل هو مثال حي على أن:

> أخطر الهجمات لا تكسر النظام… بل تخدع المستخدم.

فهم هذا الهجوم ضروري لكل:

  • مختبر اختراق ويب
  • باحث Bug Bounty
  • مطور تطبيقات ويب
  • مهندس أمن

إذا كنت تريد اكتشاف ثغرات لا تراها الأدوات، فابدأ من واجهة المستخدم.

إرسال تعليق