تطوير وبرمجة الويب
58 subscribers
160 photos
10 files
193 links
Download Telegram
🛡 استغلال ثغرة Clickjacking لهجوم DOM-based XSS 🧑‍💻 ..

كيف يمكن للمهاجم استخدام ثغرة Clickjacking لإطلاق هجوم DOM-based XSS لفهم ذلك، سأشرح كلاً من Clickjacking و DOM-based XSS بشكل منفصل:

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

2️⃣ الـ DOM-based XSS :
يحدث هذا النوع من الهجمات عندما يُعدّل كود JavaScript في صفحة ويب DOM (نموذج كائن المستند) بطريقة تسمح بتنفيذ كود خبيث. على عكس أنواع XSS الأخرى، لا يتضمن DOM-based XSS إرسال بيانات خبيثة إلى الخادم، بل يستغل ثغرات في الكود JavaScript الموجود في صفحة الويب نفسها.

💥 كيف يتم استخدام Clickjacking الهجوم DOM-based XSS؟
يمكن للمهاجم استخدام Clickjacking لخداع المستخدم للنقر على عنصر في صفحة ويب يُفعّل ثغرة DOM-based XSS، على سبيل المثال:

إنشاء صفحة ويب خبيثة: ينشئ المهاجم صفحة ويب تحتوي على إطار iframe يضم الصفحة المُستهدفة المعرضة لـ DOM-based XSS.

وضع طبقة شفافة: يضع المهاجم طبقة شفافة فوق الإطار iframe.

إغراء المستخدم: يُغري المهاجم المستخدم بزيارة الصفحة الخبيثة والنقر على عنصر مرئي.

تنفيذ النقر على عنصر مخفي: عندما ينقر المستخدم، فإنه ينقر في الواقع على عنصر مخفي في الصفحة المُستهدفة داخل الإطار iframe، مما يُفعّل ثغرة DOM-based XSS.

🔥 مثال:
لنفترض أن صفحة ويب تحتوي على كود JavaScript مثل هذا:

var search = document.location.hash.substring(1);
document.getElementById('result').innerHTML = search;



يأخذ هذا الكود قيمة الجزء الموجود بعد علامة # في عنوان URL ويُدخله في عنصر HTML مع المعرّف result، إذا قام المهاجم بإنشاء رابط مثل:

https://vulnerable.site#<img src=x onerror=alert(1)>

سيؤدي ذلك إلى تنفيذ كود JavaScript alert(1) في متصفح المستخدم.

الآن، يمكن للمهاجم استخدام Clickjacking لجعل المستخدم ينقر على هذا الرابط دون علمه، ينشئ المهاجم صفحة ويب تحتوي على إطار iframe يضم الصفحة المُستهدفة ويضع طبقة شفافة فوقها. عندما ينقر المستخدم على شيء في الصفحة الخبيثة، فإنه ينقر في الواقع على الرابط الخبيث في الصفحة المُستهدفة داخل الإطار iframe، مما يُفعّل ثغرة DOM-based XSS.

🛡 الحماية:
لمنع هذا النوع من الهجمات، يجب اتخاذ التدابير التالية:

1️⃣ حماية من Clickjacking: استخدام تقنيات مثل X-Frame-Options لمنع تضمين الصفحة في إطارات iframe من مواقع أخرى.

2️⃣ فحص المُدخلات: فحص جميع المُدخلات التي تُستخدم في تعديل DOM لمنع تنفيذ كود JavaScript خبيث.

3️⃣ استخدام Content Security Policy (CSP): استخدام CSP للتحكم في مصادر النصوص البرمجية التي يُسمح بتنفيذها في الصفحة.
#فكرة_مبرمج

http://youtube.com/post/UgkxSjc7xgZKqo9npkI2TX-bSsUubyvab_6S?si=YWtlSuf9KDQxydfh