A03:2021 - الحقن (تحديداً XSS)
يحدث حقن النصوص البرمجية عبر المواقع (Cross-Site Scripting - XSS) عندما يتمكن مهاجم من حقن سكربت من جهة العميل (عادةً JavaScript) في صفحة ويب يشاهدها مستخدمون آخرون. يسمح هذا للمهاجم بتنفيذ كود في متصفح الضحية.
أنواع XSS
- XSS المخزن (Persistent): يتم تخزين السكربت الخبيث بشكل دائم على الخادم المستهدف (مثلاً في حقل تعليقات بقاعدة البيانات). يصاب كل مستخدم يشاهد تلك الصفحة.
- XSS المنعكس (Non-Persistent): يتم حقن السكربت عبر الرابط (URL). يقوم الخادم بعكس السكربت إلى متصفح المستخدم، والذي يقوم بتنفيذه لاحقاً.
أثر XSS
يستخدم المهاجمون XSS لـ:
- سرقة الكوكيز/معرفات الجلسة: اختطاف جلسة تسجيل دخول الضحية.
- تسجيل ضربات المفاتيح (Keylogging): التقاط ضربات المفاتيح داخل المتصفح.
- إعادة التوجيه: توجيه المستخدم إلى موقع ويب خبيث.
الدفاع: ترميز المخرجات (Output encoding). يجب تحويل أي بيانات يقدمها المستخدم ويتم عرضها في الصفحة بحيث يعاملها المتصفح كنص غير ضار بدلاً من كود HTML أو JavaScript قابل للتنفيذ.