العودة إلى الدورة

OWASP Top 10: حقن النصوص البرمجية (XSS)

احتراف الأمن السيبراني: من الصفر إلى الاحتراف

A03:2021 - الحقن (تحديداً XSS)

يحدث حقن النصوص البرمجية عبر المواقع (Cross-Site Scripting - XSS) عندما يتمكن مهاجم من حقن سكربت من جهة العميل (عادةً JavaScript) في صفحة ويب يشاهدها مستخدمون آخرون. يسمح هذا للمهاجم بتنفيذ كود في متصفح الضحية.

أنواع XSS

  1. XSS المخزن (Persistent): يتم تخزين السكربت الخبيث بشكل دائم على الخادم المستهدف (مثلاً في حقل تعليقات بقاعدة البيانات). يصاب كل مستخدم يشاهد تلك الصفحة.
  2. XSS المنعكس (Non-Persistent): يتم حقن السكربت عبر الرابط (URL). يقوم الخادم بعكس السكربت إلى متصفح المستخدم، والذي يقوم بتنفيذه لاحقاً.

أثر XSS

يستخدم المهاجمون XSS لـ:

  • سرقة الكوكيز/معرفات الجلسة: اختطاف جلسة تسجيل دخول الضحية.
  • تسجيل ضربات المفاتيح (Keylogging): التقاط ضربات المفاتيح داخل المتصفح.
  • إعادة التوجيه: توجيه المستخدم إلى موقع ويب خبيث.

الدفاع: ترميز المخرجات (Output encoding). يجب تحويل أي بيانات يقدمها المستخدم ويتم عرضها في الصفحة بحيث يعاملها المتصفح كنص غير ضار بدلاً من كود HTML أو JavaScript قابل للتنفيذ.