القائمة الرئيسية

الصفحات

اخر الاخبار

ماهي ثغرة (Cross site scripting) XSS ؟




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

ما هي ثغرة XSS ؟

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

أنواع ثغرة XSS :

Reflected XSS:

من أبسط الأنواع هو ناتج عن عدم فلترة دخل المستخدم لنرى هذا المثال:

عندما نقوم بالبحث عن شيء ما في موقع فنذهب الى حقل البحث و نكتب  ما نريد البحث عنه وعندما نرى الاسم الذي بحثنا عنه معروض في الموقع هنا نقوم بتجربة حقن اكواد JavaScript وبعدها ننسخ الرابط و نرسله الى الهدف.

Stored XSS:

مثل النوع السابق ولكن هذا النوع عالي الخطورة و ضرره لا يقتصر على المستخدم فقد يؤثر على كل زوار الموقع وعلى الموقع أيضاً لأنه يخزن داخل الموقع.

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

DOM-based XSS :

هذا النوع يشبه reflected xss الى حد كبير لكنه يحدث بشكل كامل في جهة المستخدم حيث يقوم المخترق بحقن dom داخل الصفحة مثال يمكن إضافة form مع action  يرسل الى موقع آخر .

الاخطار الناتجة عن XSS attack :

سرقة الجلسة :

يمكن استخدام هذا الهجوم لسرقة cookie الخاص بالجلسة وتسجيل الدخول باسمك و يتم ذلك عن طريق عمل إعادة توجيه الى موقع آخر يكون مجهز من قبل المخترق يستقبل ال cookie  الخاصة بالموقع المصاب.

الاحتيال والتصيد :

يمكن استخدام النوع الثالث للقيام بوضع form  و إرسال المعلومات إلى موقع خاص بالمخترق وأنت تظن انها لوحة تسجيل الدخول الخاصة بالموقع الرسمي وعندها لن يحتاج المهاجم لسرقة الجلسة فقد حصل على كلمة السر بشكل مباشر منك

تشويه الموقع:

يمكن استخدام أكواد javascript  لتشويه الموقع بالنسبة للمستخدمين.

الحماية من XSS  :

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

بالنسبة للمستخدم:

عدم فتح أي رابط لا تعلم مصدره يمكنك استخدام إضافة noscript.

أو يمكنك الذهاب الى الاعدادات الخاصة بالمتصفح وتعطيل خيار استخدام javascript .

بالنسبة للمطور:

كمطور ويب تقع عليك مسؤولية حماية المستخدم من المخاطر وليس فقط حماية الموقع

1- يجب التأكد من تطبيق فلاتر مناسبة على جميع حقول الإدخال الخاصة بالموقع

2- يفضل تفعيل httponly flag و إضافته لعدم السماح بقراء ال cookie  عبر اكواد JavaScript

3- تفعيل secure flag لكي لا يتم ارسال ال cookie  إلا عن طريق HTTPS 

في النهاية:

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