شرح هجمات البرمجة عبر المواقع (XSS) — 2026
6 يونيو 2001 · بواسطة Pentevo
هجمة البرمجة عبر المواقع (XSS) ثغرة في الويب يجعل فيها المهاجم سكربته يعمل في متصفّح مستخدم آخر، ضمن سياق موقع موثوق. وهي مدخل قديم في عائلة OWASP Top 10. وفيما يلي شرح يركّز على الدفاع.
الفكرة الجوهرية
تثق المتصفّحات بالكود الذي يرسله إليها الموقع. فإذا أخذ موقعٌ مدخلات المستخدم وأعادها إلى الصفحة دون ترميز سليم، أمكن للمهاجم أن يدسّ وسومًا أو سكربتًا ينفّذه متصفّح الضحية — كأن الموقع هو من كتبه. والمثال التعليمي الكلاسيكي هو <script>alert(1)</script> غير المُرمَّز يظهر في صفحة، وهو ما يوضّح تشغيل المتصفّح لمحتوى يتحكّم فيه المهاجم.
والدرس هنا أيضًا هو السبب الجذري: مدخلات غير موثوقة تُعرَض في الصفحة دون ترميز.
الأنواع الثلاثة
- XSS المخزَّنة — تُحفَظ المدخلات الخبيثة (مثلًا في تعليق) وتُقدَّم لكل من يشاهدها. الأخطر على الإطلاق.
- XSS المنعكسة — تُعاد المدخلات فورًا (مثلًا في نتيجة بحث أو رسالة خطأ)، غالبًا عبر رابط مُعدّ خصيصًا.
- XSS القائمة على DOM — الخلل في كود JavaScript في جهة العميل الذي يكتب بيانات غير موثوقة في الصفحة.
لماذا يهمّ الأمر
تشغيل سكربت في جلسة الضحية قد يعني سرقة كوكيز الجلسة، والاستيلاء على الحسابات، وتسجيل ضغطات المفاتيح، وتشويه الصفحات، أو إعادة توجيه المستخدمين — كل ذلك باسم الموقع الموثوق.
كيف تمنعها
- ترميز المخرجات — رمّز البيانات للسياق الدقيق الذي توضع فيه (HTML، سمة، JavaScript، URL). هذا هو الدفاع الأساسي.
- استخدم أُطرًا تُرمّز تلقائيًا — React وAngular وغيرهما تُرمّز افتراضيًا؛ لا تُبطل ذلك بواجهات حقن HTML الخام.
- سياسة أمان المحتوى (CSP) — طبقة ثانية قوية تحدّ من السكربتات المسموح بتشغيلها.
- التحقق والتنقية للمدخلات الغنية (مثلًا بأداة تنقية HTML موثوقة) حين تضطر للسماح ببعض الوسوم.
- كوكيز HttpOnly — حتى لا تستطيع السكربتات المسروقة قراءة كوكيز الجلسة بسهولة.
كيف تُكتشف
يفحص المختبِرون المصرَّح لهم ما إذا كانت المدخلات تُعاد دون ترميز، مستعينين بأدوات مثل Burp Suite — دائمًا ضمن النطاق، للإصلاح قبل أن يستغلها المهاجمون. راجع ما هو اختبار الاختراق؟ وشرح حقن SQL لفئة الحقن ذات الصلة.
هل تريد تعلّم أمن الويب عمليًا؟ أكاديمية Pentevo المجانية تغطّيه من البداية إلى النهاية.
الأسئلة الشائعة
ما هي هجمة XSS؟
XSS ثغرة في الويب يجعل فيها المهاجم سكربته يعمل في متصفّح مستخدم آخر، ضمن سياق موقع موثوق. السبب الجذري دائمًا واحد: مدخلات غير موثوقة تُعرَض داخل الصفحة دون ترميز سليم. عندها يعامل المتصفّح الكود المحقون كأنه كود شرعي من الموقع نفسه.
ما أنواع XSS؟
هناك ثلاثة أنواع رئيسية. في XSS المخزَّنة تُحفَظ المدخلات الخبيثة وتُقدَّم لكل من يشاهدها، وهي الأخطر. وفي XSS المنعكسة تُعاد المدخلات فورًا، غالبًا عبر رابط مُعدّ خصيصًا. أما XSS القائمة على DOM فالخلل فيها داخل كود JavaScript في جهة العميل الذي يكتب بيانات غير موثوقة في الصفحة.
كيف نمنع XSS؟
الدفاع الأساسي هو ترميز المخرجات: ترميز البيانات للسياق الدقيق الذي توضع فيه. أضِف إلى ذلك استخدام أُطر تُرمّز تلقائيًا، وسياسة أمان المحتوى (CSP) كطبقة ثانية، وتنقية المدخلات الغنية بأداة تنقية موثوقة، وكذلك ملفات تعريف الارتباط بخاصية HttpOnly حتى لا تستطيع السكربتات المسروقة قراءة كوكيز الجلسة بسهولة.
لماذا تُعدّ XSS خطيرة؟
تشغيل سكربت في جلسة الضحية قد يعني سرقة كوكيز الجلسة، والاستيلاء على الحسابات، وتسجيل ضغطات المفاتيح، وتشويه الصفحات، أو إعادة توجيه المستخدمين — كل ذلك باسم الموقع الموثوق. لهذا تظلّ XSS من أخطر ثغرات الويب منذ زمن طويل.
مقالات ذات صلة
شرح حقن SQL (وكيفية الوقاية منه) — 2026
ما هو حقن SQL، ولماذا يحدث، وأنواعه الرئيسية، والطرق المثبتة التي يوقفه بها المطوّرون. شرح واضح يركّز على الدفاع.
Fundamentalsأهم 10 مخاطر في OWASP، مشروحة ببساطة (2026)
جولة مبسّطة في قائمة OWASP Top 10 لأهم مخاطر أمن تطبيقات الويب — ماذا تعني كل فئة وكيف يخفّفها المدافعون.
Fundamentalsشرح الـ VPN: ماذا يفعل (وماذا لا يفعل) — 2026
كيف يعمل الـ VPN فعلًا، ومِمّ يحميك، ومِمّ لا يحميك، وكيف تختار واحدًا — دون مبالغات التسويق.
Fundamentalsما هو اختبار الاختراق؟ دليل المبتدئين (2026)
دليل مبسّط لاختبار الاختراق: ما هو، والمراحل الخمس، وأنواعه الرئيسية، وكيف يختلف عن فحص الثغرات.
طبّق هذا عمليًا
أكاديمية Pentevo تحوّل هذه المفاهيم إلى دروس موجّهة وفيديوهات واختبارات — مجانًا.
ابدأ التعلّم مجانًا