هجوم البرمجة النصية عبر المواقع Cross-Site Scripting Attack

اقرأ في هذا المقال


هجوم البرمجة النصية عبر المواقع (XSS)

البرمجة النصية عبر المواقع (XSS) هي هجوم حقن التعليمات البرمجية من جانب العميل، حيث يهدف المهاجم إلى تنفيذ نصوص ضارة في مستعرض ويب للضحية من خلال تضمين تعليمات برمجية ضارة في صفحة ويب أو تطبيق ويب شرعي، كما يحدث الهجوم الفعلي عندما يزور الضحية صفحة الويب أو تطبيق الويب الذي ينفذ الشفرة الخبيثة، تصبح صفحة الويب أو تطبيق الويب وسيلة لتسليم البرنامج النصي الضار إلى متصفح المستخدم، المركبات المعرضة للخطر التي يتم استخدامها بشكل شائع لهجمات البرمجة عبر المواقع هي المنتديات ولوحات الرسائل وصفحات الويب التي تسمح بالتعليقات.

  • “XSS” اختصار ل”Cross-Site Scripting”.

أنواع البرمجة النصية عبر المواقع (XSS)

البرمجة النصية عبر المواقع المخزنة 

تسمح ثغرة البرمجة النصية عبر المواقع المخزنة للمهاجمين بحقن برنامج نصي ضار بشكل مستمر في تطبيق ويب، في مثال (XSS) المخزن، ربما تم إرسال البرنامج النصي عبر حقل إدخال إلى خادم الويب، والذي لم يقم بالتحقق الكافي من الصحة ويخزن البرنامج النصي باستمرار في قاعدة البيانات، قد تكون نتيجة ذلك أن هذا البرنامج النصي يتم تسليمه الآن لجميع المستخدمين الذين يزورون تطبيق الويب، وعلى سبيل المثال، قادرون على الوصول إلى ملفات تعريف ارتباط جلسة المستخدم.

  • يتم تخزين البرنامج النصي باستمرار في تطبيق الويب.
  • المستخدمون الذين يزورون التطبيق بعد الإصابة يستردون النص.
  • تستغل التعليمات البرمجية الخبيثة العيوب في تطبيق الويب.
  • النص والهجوم مرئيان على جانب الخادم لمالك التطبيق.

البرمجة النصية العاكسة عبر المواقع

تظهر ثغرة أمنية في البرمجة النصية عبر المواقع المنعكسة إذا تم عرض إدخال لم يتم التحقق منه مباشرةً للمستخدم،في مثال انعكاس (XSS)، ينعكس إدخال نموذج البحث على الصفحة لإظهار مفتاح البحث، حيث قد يصنع المهاجم عنوان (URL) يحتوي على تعليمات برمجية ضارة وينشر عنوان (URL) عبر البريد الإلكتروني أو وسائل التواصل الاجتماعي، كما يقوم المستخدم الذي ينقر فوق هذا الارتباط بفتح تطبيق الويب، والذي يقوم بعد ذلك بتشغيل التعليمات البرمجية الضارة في متصفح المستخدم.

  • لا يتم تخزين البرنامج النصي في تطبيق الويب.
  • يتم عرض التعليمات البرمجية الضارة لمستخدم واحد فقط.
  • المستخدمون الذين يفتحون الرابط ينفذون البرنامج النصي عند فتح التطبيق.
  • النص والهجوم ليسا مرئيين بالضرورة من جانب الخادم لمالك التطبيق.

البرمجة النصية عبر المواقع المستندة إلى DOM

يرمز (DOM) إلى نموذج كائن المستند وهو واجهة لصفحات الويب، حيث إنها في الأساس واجهة برمجة تطبيقات للصفحة، مما يسمح للبرامج بقراءة محتوى الصفحة وهيكلها وأنماطها ومعالجتها.

  • لا يتم تخزين البرنامج النصي في تطبيق الويب.
  • يتم عرض التعليمات البرمجية الضارة لمستخدم واحد فقط.
  • تستغل التعليمات البرمجية الخبيثة العيوب الموجودة في المتصفح من جانب المستخدم.
  • النص والهجوم ليسا مرئيين بالضرورة من جانب الخادم لمالك التطبيق.

* “DOM” اختصار ل”DOCUMENT OBJECT MODEL”.

عواقب هجوم XSS

  • تكون نتيجة هجوم (XSS) هي نفسها بغض النظر عما إذا كانت مخزنة أو منعكسة أو قائمة على (DOM)، حيث يكمن الاختلاف في كيفية وصول الحمولة إلى الخادم، يجب ان لا ينخدع المستخدم بالاعتقاد بأن موقع للقراءة فقط أو موقع البرامج الدعائية ليس عرضة لهجمات (XSS) المنعكسة الخطيرة.
  • يمكن أن يتسبب (XSS) في مجموعة متنوعة من المشكلات للمستخدم النهائي والتي تتراوح في شدتها من الإزعاج إلى اختراق الحساب بالكامل.
  • تتضمن أخطر هجمات (XSS) الكشف عن ملف تعريف ارتباط جلسة المستخدم، مما يسمح للمهاجم باختطاف جلسة المستخدم والاستيلاء على الحساب، حيث تشمل الهجمات الضارة الأخرى الكشف عن ملفات المستخدم النهائي أو تثبيت برامج حصان طروادة أو إعادة توجيه المستخدم إلى صفحة أو موقع آخر أو تعديل عرض المحتوى.
  • قد تؤثر ثغرة (XSS) التي تسمح للمهاجم بتعديل بيان صحفي أو عنصر إخباري على سعر سهم الشركة أو تقلل من ثقة المستهلك، على سبيل المثال قد تسمح ثغرة (XSS) على موقع صيدلاني للمهاجم بتعديل معلومات الجرعة مما يؤدي إلى جرعة زائدة.
  • تحدث العواقب الأكثر خطورة عند استخدام (XSS) لاستغلال نقاط ضعف مختلفة، حيث يمكن أن تمكّن نقاط الضعف هذه المهاجم ليس فقط من سرقة ملفات تعريف الارتباط، ولكن أيضًا ممكن ان تشمل التقاط لقطات شاشة والكشف عن معلومات الشبكة وتجميعها بحيث تمكن الوصول عن بُعد إلى جهاز الضحية والتحكم فيه.

مستويات مخاطر ثغرات XSS

يعتمد التأثير عادةً على نوع ثغرة (XSS) على سبيل المثال، المخزنة أو المنعكسة وصعوبة التنفيذ، وما إذا كان يتطلب مصادقة، ربما لا يمكن للجميع الوصول إلى الصفحة المعنية، حيث تشمل العوامل الأخرى الإجراءات الإضافية المطلوبة من المستخدم، إن وجدت، ما إذا كان الهجوم قد تم بشكل موثوق، وما هو الذي يمكن أن يكسبه المهاجم المحتمل بالضبط، إذا كان الموقع لا يحتوي على معلومات خاصة بسبب عدم وجود مصادقة أو تمييز بين المستخدمين، يكون التأثير ضئيلًا، حيث يقسم برنامج تهديدات أمان التقنيات الإيجابية (XSS) إلى ثلاث فئات:

  • تهديدات عالية، نقاط الضعف في أجهزة التوجيه أو الأجهزة المحلية الأخرى التي تتطلب إذنًا، يتطلب (XSS) هنا حقوق مستخدم مميزة، أو بشكل تقريبي، نظرًا لأن صعوبة الهجوم عالية نسبيًا، فإن التأثير الناتج صغير.
  • تهديدات متوسطة، وهي جميع هجمات (XSS) المنعكسة والمخزنة التي تتطلب زيارة صفحة معينة مثل الهندسة الاجتماعية، هذا أكثر أهمية وله تأثير أكبر، لأن (XSS) المخزن أسهل للمهاجمين، ولكن نظرًا لأنه لا يزال يتعين على المستخدم تسجيل الدخول أولاً، فإن الأهمية ليست عالية جدًا.
  • تهديدات منخفضة، في هذه الحالة، يزور المستخدم بشكل مستقل صفحة تحتوي على نص برمجي ضار، بعض الأمثلة هي (XSS) في رسالة شخصية أو تعليق مدونة أو لوحة تحكم تظهر مباشرة بعد تسجيل الدخول في قائمة المستخدمين عبر اسم المستخدم أو سجلات الدخول من خلال وكيل المستخدم.

يمكن أن تكون ثغرات (XSS) عالية الخطورة، ولكنها عادةً ما تحصل على درجات أقل من تلك المعطاة لأنواع أخرى من الهجمات، للدفاع ضد هجمات (XSS)، يمكن للمطورين تعقيم إدخال البيانات من قبل المستخدمين في طلب (HTTP) وهو بروتوكول نقل النص التشعبي قبل عكسها مرة أخرى، كما يجب التأكد من التحقق من صحة جميع البيانات أو تصفيتها أو تجاوزها قبل إعادة أي شيء للمستخدم، مثل قيم معلمات الاستعلام أثناء عمليات البحث، وأيضا القيام بتحويل الأحرف الخاصة والمسافات إلى معادلاتها المشفرة بتنسيق (HTML أو URL) وهما لغتا ترميز، ومنح المستخدمين خيار تعطيل البرامج النصية من جانب العميل.

  • “HTTP” اختصار ل”HyperText Transfer Protocol”.
  • “HTML” اختصار ل”HyperText Markup Language”.
  • URL” اختصار ل” Uniform Resource Locator”.

شارك المقالة: