كيف تساعد "أدوات مطوري البرامج في Chrome" في الحماية من هجمات XSS الذاتية

Wolfgang Beyer
Wolfgang Beyer

ما هي هجمات XSS الذاتية؟

Self-XSS، أو البرمجة النصية للمواقع الإلكترونية المتعدّدة، هي أحد أنواع هجمات الهندسة الاجتماعية التي تحاول خداعك لتنفيذ رمز ضار في متصفّح الويب. على عكس هجمات XSS العادية، التي تعتمد على الثغرات الأمنية في تطبيقات الويب التي تسمح للمهاجمين بإدخال رموز ضارة، تعتمد هجمات XSS الذاتية على إجراءاتك المحتملة لتنفيذ الرمز.

عادةً ما تتضمن هجمات اشتمال XSS المهاجم على خداعك لنسخ رمز ضار ولصقه في وحدة التحكّم في "أدوات مطوري البرامج" في متصفّحك. يحقق المهاجم ذلك عادةً من خلال الوعد بنوع من المكافأة. قد يكون هذا:

  • وعدك بأن الرمز سيتيح لك الوصول إلى ميزات مخفية أو مكافآت افتراضية.
  • التظاهر بأن الرمز عبارة عن اختبار أمان أو إصلاح للخطأ.
  • تقديم وعود بأن الرمز يسمح باختراق الموقع الإلكتروني لتحقيق مكاسب مالية

وبعد تنفيذ الرمز، يمكن للمهاجم التحكم في حسابك. يمكن أن يسمح ذلك للمهاجم بما يلي:

  • سرقة معلوماتك الشخصية، مثل الاسم والعنوان ورقم بطاقة الائتمان
  • نشر رسائل أو تعليقات غير مصرّح بها نيابةً عنك
  • يمكنك التحكّم في حساباتك على وسائل التواصل الاجتماعي.
  • نشر البرامج الضارة إلى المستخدمين الآخرين

كيف تحاول "أدوات مطوري البرامج في Chrome" الحد من هجمات تشفير XSS الذاتي؟

إنّ السماح للمستخدمين بلصق الرمز البرمجي في "أدوات مطوري البرامج" ثم تنفيذه هو أمر محفوف بالمخاطر. وهي أيضًا إحدى الميزات الأساسية في "أدوات مطوري البرامج في Chrome". لهذا السبب، كان علينا إيجاد توازن بين الحدّ من هجمات XSS المحتمَلة ذاتيًا وعدم التدخل في عمل المطوّرين الذين يريدون فقط تصحيح أخطاء المواقع الإلكترونية.

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

تثق "أدوات مطوري البرامج في Chrome" في أنّ المطوّرين يعلمون ما يفعلونه. ولا نريد إبطائهم أو تشتيت انتباههم بأي شكل من الأشكال أثناء نسخ الرموز ولصقها.

ونعتقد أنّ غير المطوّرين هم الأكثر عُرضة للوقوع ضحية لهجمات هجمات حجب الخدمة الذاتية (XSS). من أجل حمايتك، نعتقد أنّه من المقبول والمفيد المقاطعة أثناء تنفيذك لنشاط قد يكون خطيرًا. عندما تكتشف "أدوات مطوري البرامج في Chrome" أنّ مستخدمًا عديم الخبرة يحاول لصق رمز برمجي في "أدوات مطوري البرامج"، ستتوقف وتعرض تحذيرًا.

متى تعرض "أدوات مطوري البرامج" تحذيرات Self-XSS؟

تستخدم "أدوات مطوري البرامج" إرشادات بسيطة جدًا لتحديد ما إذا كنت تريد عرض تحذيرات XSS ذاتيًا: فهي تستند إلى سجلّ وحدة التحكّم للملف الشخصي للمستخدم.

إذا كان ملفك الشخصي يحتوي على 5 إدخالات على الأقل في سجلّ وحدة التحكّم، لن تعرض لك "أدوات مطوري البرامج" أي تحذيرات أو نوافذ منبثقة. سجل وحدة التحكم هو قائمة بالأوامر التي كتبتها ونفذتها في وحدة التحكم. وهذه هي الأوامر التي تظهر لك عند وضع المؤشر في وحدة التحكّم والضغط على مفتاح السهم المتّجه للأعلى بشكل متكرّر.

كيف تبدو تحذيرات Self-XSS؟

عندما يحاول مستخدم عديم الخبرة لصق رمز برمجي في وحدة التحكّم، يتم حظر هذا الإجراء وتعرض وحدة التحكّم تحذيرًا بدلاً من ذلك.

تحذير self-XSS في وحدة التحكّم.

يمكنك تجاوز هذا التحذير وتفعيل اللصق، ولكن عليك كتابة "السماح باللصق" لإجراء ذلك.

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

مربع حوار نموذج XSS الذاتي في لوحة "المصادر".

ومرة أخرى، لا يكفي إغلاق مربّع الحوار هذا وحده لتفعيل اللصق. لإلغاء التحذير، عليك كتابة "السماح باللصق" في حقل الإدخال.

هل هذا الإعداد لمرة واحدة؟

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

نأمل أن يحقق هذا التوازن بين الفائدة والإزعاج. وعند إضافة معوقات، تزيد احتمالية قراءة التحذير، وبالتالي تقليل احتمالية نجاح هجوم XSS الذاتي.

تحتفظ "أدوات مطوري البرامج في Chrome" بعلامة تحدد ما إذا كنت تريد عرض تحذيرات بنفسك بشأن XSS في ملفك الشخصي على Chrome أم لا. لذلك، إذا أنشأت ملفًا شخصيًا جديدًا وبدأت على الفور في لصق الرمز في "أدوات مطوّري البرامج"، يتم حظر اللصق وعرض تحذيرات Self-XSS بدلاً من ذلك.

هل يمكنك إيقافها لاختبار التشغيل الآلي؟

ولكن ماذا عن الاختبارات الآلية؟ تُنشئ العديد من أدوات الاختبار ملفًا شخصيًا مؤقتًا جديدًا لكل عملية اختبار. لذلك، إذا كنت تستخدم "أدوات مطوري البرامج" لتصحيح أخطاء اختباراتك المبرمَجة، يتم في البداية حظر اللصق في وحدة التحكّم.

للتحايل على هذه المشكلة، يمكنك تنفيذ أحد الإجراءَين التاليَين:

  • استخدِم الإصدار Chrome for Testing، وهو مجموعة متنوعة من متصفِّحات Chrome المصمَّمة خصيصًا لأغراض الاختبار والتشغيل الآلي. تم إيقاف تحذيرات Self-XSS.

  • بالنسبة إلى قنوات إصدار Chrome الأخرى، يمكنك تمرير علامة سطر الأوامر --unsafely-disable-devtools-self-xss-warnings إلى Chrome لإيقاف مربّع حوار التحذير self-xss بالكامل.

الخلاصة

ما رأيك في هذه الاستراتيجية للحدّ من هجمات تشفير XSS الذاتي؟ إذا كانت لديك تعليقات أو اقتراحات، أضِف تعليقًا على هذا الخطأ أو تواصل معنا باستخدام إحدى الطرق التالية.

وخاصةً إذا كنت تعمل على موقع إلكتروني يحذّر من هجمات self-XSS من خلال سجلات وحدة التحكّم، يسعدنا أن نتحدّث عن مواءمة جهودنا أو قياس تأثير تدابير التخفيف الخاصة بـ XSS.

تنزيل قنوات المعاينة

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

التواصل مع فريق "أدوات مطوري البرامج في Chrome"

يمكنك استخدام الخيارات التالية لمناقشة الميزات والتغييرات الجديدة في المشاركة أو مناقشة أي معلومات أخرى متعلّقة بأدوات مطوري البرامج.

  • يمكنك إرسال اقتراح أو ملاحظات إلينا عبر crbug.com.
  • يمكنك الإبلاغ عن مشكلة في "أدوات مطوري البرامج" باستخدام خيارات إضافية   المزيد > مساعدة > الإبلاغ عن مشاكل في "أدوات مطوري البرامج" في "أدوات مطوري البرامج".
  • يمكنك نشر تغريدة على @ChromeDevTools.
  • شارِك في التعليقات على الميزات الجديدة في فيديوهات YouTube أو نصائح حول أدوات مطوّري البرامج فيديوهات على YouTube.