أفضل تقنيات الحماية من هجمات XSS وCSRF في تطوير الويب

الكاتب : ياسمين جمال
27 يناير 2025
عدد المشاهدات : 17
منذ يومين
أفضل تقنيات الحماية من هجمات XSS وCSRF في تطوير الويب
عناصر الموضوع
2- ماهي ثغرة الـ CSRF؟
2- ماهو تأثير ثغرة الـ CSRF؟
3- أنواع ثغرة XSS
4- الإجراءات الأساسية التي يمكن اتخاذها
فلترة المدخلات:
تلافي الاعتماد على الجانب العميل:
التحقق من البيانات الصحيحة:
تعزيز الأمان في المتصفح:
عزل البيانات:
تحديث وتصليح الثغرات:
التعليم والتوعية:
5- تأثير XSS‏
6- الحماية من هجمات XSS (Cross-Site Scripting)
استخدام htmlspecialchars
استخدام strip_tags
7- كيفية منع هجمات CSRF كمطور
8- كيفية منع هجمات CSRF كمستخدم

عناصر الموضوع

1- ماهي ثغرة الـ CSRF؟

2- ماهو تأثير ثغرة الـ CSRF؟

3- أنواع ثغرة XSS.

4- الإجراءات الأساسية التي يمكن اتخاذها.

5- تأثير XSS‏.

6- الحماية من هجمات XSS (Cross-Site Scripting).

7- كيفية منع هجمات CSRF كمطور.

8- كيفية منع هجمات CSRF كمستخدم.

في عهد التكنولوجيا المتقدمة، صارت الثغرات الأمنية تصور تحديًا هائلا مقابل المؤسسات والمطورين على حد سواء.

واحدة من هذه التحديات هي ثغرة XSS (Cross-Site Scripting)، التي تعد واحدة من أكثر الثغرات انتشارا وخطورة في مجال أمان تطبيقات الويب.

2- ماهي ثغرة الـ CSRF؟

كانت إحدى الثغرات في قائمة OWASP Top 10 للعام 2013، ولكن حُذِفت من القائمة في العام 2017، وهي نوع من الهجمات حيث تستند بالأساس إلى تضليل الضحية لإرسال طلب مضر إلى الخادم، للسيطرة على هوية الضحية وتبديل بياناته على سبيل المثال البريد الإلكتروني أو كلمة المرور.

تحتوي طلبات المتصفح تلقائياً على أي بيانات ترتبط بهوية المستعمل الخاصة بالموقع، على سبيل المثال session cookie وIP Address وعدة من البيانات الأخرى، فإذا كان المستعمل سجل إيلاجه على تطبيق الويب، فإن الخادم من المحتمل ألا يملك الطريقة للتعرف ما إذا كان هذا الطلب قد تم بعلم المستعمل أم لا.

2- ماهو تأثير ثغرة الـ CSRF؟

تسعى هجمات CSRF على نحو رئيسي على تبديل البيانات التي ترتبط بهوية المستعمل، مثل تبديل عنوان البريد الإلكتروني أو كلمة المرور للضحية.

حيث يستند الهجوم إلى سبيل المثال على أن يعمل المهاجم بإعداد طلب للخادم بتبديل كلمة المرور، ويعمل المهاجم بإرسال ذلك الطلب للضحية وتضليله لتعمل فقط الضحية بإرسال هذا الطلب إلى خادم الويب حيث يعمل إلى تبديل كلمة المرور التي انتقاها المهاجم. [1]

3- أنواع ثغرة XSS

  • Reflected
  • stored
  • DOM-based
  • عندما يرتبط الأمر بحماية موقعك من ثغرة XSS (Cross-Site Scripting)، يوجد عدد من الإجراءات التي يقدر عملها للتيقن من سلامة تطبيق الويب وحماية المستعملين.

4- الإجراءات الأساسية التي يمكن اتخاذها

الآتي نظرة عامة على عدة من الإجراءات الرئيسة التي يمكن يعملها:

الإجراءات الأساسية التي يمكن اتخاذها

فلترة المدخلات:

يستلزم عليك تطبيق فلترة قاسية لكل المدخلات المستعملة في تطبيق الويب.

علاوة على ذلك النصوص المدخلة عن طريق المستعملين في النماذج وعناصر الاستعلام في عناوين

لا بد حذف أو تغيير أي رموز خطرة على سبيل المثال ” <” و “> ” و “&”، وما إلى ذلك.

تلافي الاعتماد على الجانب العميل:

يستلزم الابتعاد عن الاتكال الهائل على الجانب العميل في تطبيقك، وتيقن أي بيانات تحضر من العميل على الخادم.

لا بد أن يتم فلترة والتيقن من المدخلات على خادم الويب قبل استعمالها.

التحقق من البيانات الصحيحة:

لا بد من التيقن من صحة ونوع البيانات التي تتلقاها التطبيق.

قد يتم استعمال تكنولوجيا التحقق على سبيل المثال التأكد من البريد الإلكتروني والتيقن من الأرقام والتحقق من القيم المقبولة لمعالم محددة.

تعزيز الأمان في المتصفح:

  • تقدر تعزيز الأمان في المتصفح عن طريق تخصيص رؤوس استجابة متينة على سبيل المثال Content-Security-Policy (CSP) وX-XSS-Protection.
  • تخصيص هذه الرؤوس يقدر أن يحد من استغلالات XSS.

عزل البيانات:

يستلزم عزل البيانات المستعملة في التطبيق والتيقن من مصدرها.

لا بد تعيين المصادر المصدقة للبيانات والابتعاد عن الثقة الكلية في البيانات التي تحضر من مصادر غير مصدقة.

تحديث وتصليح الثغرات:

ينبغي تحديث التطبيق على نحو دائم وتطبيق تصحيحات الأمان المتوفرة.

يستلزم أيضًا عمل اختبارات الضعف والتسلل بانتظام للاستطلاع عن ثغرات الموقع وتغيرها في الحال.

التعليم والتوعية:

ينبغي تدريب المشرفين وفريق التطوير على أهمية الأمان والثغرات الأمنية المتبادلة مثل

ينبغي أن يصبحوا على علم بأحسن الممارسات في مجال الأمان وطريقة حماية التطبيقات من الهجمات.

فهذه عناصر رئيسة يقدر عملها لحماية موقعك من ثغرة XSS.

بالإضافة إلى ذلك، لا بد أن تتذكر أن الحفاظ على موقعك من ثغرة XSS هي عملية مستدامة ومتقدمة، ويستلزم الدوام في تتبع أحدث الممارسات الأمنية وتقدمات البرمجيات للمحافظة على سلامة تطبيق الويب. [2]

5- تأثير XSS‏

عن طريق تسخير ثغرات XSS، يمكن للمهاجم عمل إجراءات ضارة، على سبيل المثال:

  • إرجاع توجيه المستعملين إلى موقع ويب مضر.
  • الاستحواذ على ضغطات مفاتيح لوحات مفاتيح المستعملين.
  • البلوغ إلى سجل متصفح المستعمل ومحتويات الحافظة.
  • تحقيق عمليات الاستفادة القائمة على متصفح الويب مثل، التسبب في توقف المتصفح.
  • البلوغ على معلومات ملفات تعريف الارتباط للمستعمل الذي سجل الإيلاج إلى موقع ويب.
  • سرقة الرمز البارز لجلسة تسجيل الدخول، حيث يتيح للمهاجم بالتعامل مع التطبيق باعتباره الضحية من دون العلم بكلمة المرور المرتبطة به.
  • إجبار المستعمل على إرسال طلبات يسيطر فيها المهاجم إلى خادم.
  • تعديل محتويات الصفحة.
  • تضليل الضحية لإخبار كلمة المرور المرتبطة به إلى التطبيق أو التطبيقات الأخرى.
  • إصابة الضحية بتوجيهات برمجية مضرة أخرى باستعمال ثغرة أمنية في متصفح الويب ذاته، وربما التحكم في كمبيوتر الضحية. [3]

6- الحماية من هجمات XSS (Cross-Site Scripting)

هجمات XSS تتم عندما يعمل المهاجم بإدخال شيفرة JavaScript مضرة إلى صفحة الويب خلال نموذج

من المحتمل أن تعمل هذه الشيفرة على سرقة بيانات الجلسات أو إرجاع توجيه المستعملين إلى مواقع مضرة.

لوقاية النماذج من XSS، تيقن من أنك تختار كل المدخلات، وتُخرجها بوسيلة آمنة.

استخدام htmlspecialchars

  • دالة htmlspecialchars تستعمل لتحويل الأحرف المرتبطة إلى تصور HTML، حيث يحجب تحقيق الشيفرة الضارة.
  • <?php
  • $comment = htmlspecialchars($_POST[‘comment’], ENT_QUOTES, ‘UTF-8’);
  • echo $comment;
  • ؟>

في هذا المثال، يتم تغيير علامات HTML إلى رموز كي لا يتم تحقيقها كجزء من الشيفرة.

استخدام strip_tags

  • تقدر أيضًا استعمال strip_tags لحذف كل علامات HTML من المدخلات إذا لم تكن يوجد داع لوجودها.
  • <?php
  • $safe_input = strip_tags($_POST[‘user_input’]);
  • echo $safe_input;
  • ؟>

في هذا المثال، يحدث حذف كل علامات HTML من المدخلات. [4]

7- كيفية منع هجمات CSRF كمطور

تتمثل إحدى أبرز الوسائل لمنع CSRF في استعمال الرموز الفريدة المتبدلة على نحو متكرر بدلاً من الاستناد إلى ملفات تعريف الارتباط للجلسة لتشغيل تبديل الحالة على الخادم.

تتاح الكثير من أطر العمل الخلفية المتقدمة الأمان ضد CSRF، لذلك إذا كنت تود في الابتعاد عن الجوانب الفنية لدعم CSRF بذاتك، فتقدر معالجتها ببساطة باستعمال وسائل عمل من جانب الخادم تحضر مع الرموز الفريدة المضادة لـ

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

يعمل تطبيق نظام موثق ثنائية (2FA) لتشغيل المعاملات على تطبيق الويب المرتبط بك كذلك إلى تخفيض فرص

من المحتمل بدء CSRF خلال البرمجة النصية خلال المواقع (XSS)، التي تحتوي على إدخال البرنامج النصي في حقول المستعمل على سبيل المثال نماذج التعليقات، ولحجب هذا، من الممارسات الملائمة إمكانية سمة الهروب التلقائي لـ HTML في كافة حقول نماذج المستعمل خلال موقع الويب المرتبط بك، حيث يحجب هذا العمل حقول النموذج من تفسير عناصر

8- كيفية منع هجمات CSRF كمستخدم

بصفتك مستعملا لخدمة الويب التي تحوي على المصادقة، تمتلك دور تؤديه في وقف المهاجمين من سرقة بيانات استنادك وجلساتك خلال CSRF كذلك.

تيقن من أنك تستعمل خدمات ويب مصدقة في أثناء الأنشطة التي تحتوي على تحويل الأموال.

بالإضافة إلى ذلك، استعمل متصفحات الويب المؤمنة التي تحمي المستعملين من التعرض للجلسة، بالإضافة إلى ذلك، محركات البحث المصونة التي تحفظ من تسلل بيانات البحث.

بصفتك مستعملا، تقدر أيضًا الاستناد إلى مصادقي الجهات الخارجية على سبيل المثال Google Authenticator أو بدائله للتأكد من هويتك خلال الويب.

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

حدث أمن الويب المرتبط بك.

يتطلب إلى المطورين إلى تجريب تطبيقات الويب باستمرار بحثًا عن خرقات الأمان خلال التطوير والنشر.

بالإضافة إلى ذلك، فمن المنتشر تزويد نقاط ضعف أخرى خلال محاولة حجب الآخرين، لذلك كن حذرًا للتحقق من أنك لم تخرق معلمات الأمان الأخرى خلال محاولة حظر [5]

ختاما، يستلزم علينا جميعًا أن نعلم أن أمان التطبيقات الويب لا يقتصر على مسؤولية المطورين وحدهم، ولكن يحتاج جهودًا جماعية بين المطورين والمستعملين وشركات الأمان، لتقليل أخطار ثغرة XSS وتحسين أمان التطبيقات الويب بفعالية.

المراجع

مشاركة المقال

وسوم

هل كان المقال مفيداً

نعم
لا

الأكثر مشاهدة