ثغرة 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 لتشويه الموقع بالنسبة للمستخدمين.