إصلاح: ERR_BLOCKED_BY_XSS_AUDITOR

Chrome قيد التطوير النشط باستمرار مع إصدار إصدارات جديدة بين الحين والآخر لتضمين ميزات جديدة وتحسينات أمنية. لا يستخدم Chrome فقط للتصفح ؛ كما أنه يستخدم في العديد من خدمات الويب التي يستخدمها مطورو البرامج.

ERR_BLOCKED_BY_XSS_AUDITOR في Chrome

بفضل الإصدار Chrome 57 الحديث ، تم تحسين اكتشاف مدقق XSS بشكل كبير. لديهم مجموعة من الإرشادات الجديدة التي توقفت بسببها خدمات الويب عن العمل وأعطت رسالة الخطأ "ERR_BLOCKED_BY_XSS_AUDITOR ".

تحدث رسالة الخطأ هذه عندما يتم إرسال محتوى HTML عبر طريقة POST داخل الطلب. يحتوي Google Chrome على ميزة XSS Security التي تحلل دائمًا HTML التي يتم إرسالها عبر النماذج وتمنع تلك الطلبات. وبهذه الطريقة ، لا يتم إرسال النماذج أبدًا وتجنب استغلالات XSS.

ما أسباب ظهور رسالة الخطأ "ERR_BLOCKED_BY_XSS_AUDITOR" في Chrome؟

كما ذُكر سابقًا ، أعادت البنية الحديثة لـ Chrome تجديد XSS Auditor حتى لا يتم استغلال ثغرات XSS. لهذا السبب ، قد تتلقى رسالة الخطأ إذا لم تقم بتحديث التعليمات البرمجية المصدر الخاصة بك وفقا لذلك.

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

الحل (إذا كنت تدير موقع الويب)

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

PHP

أضف العنوان التالي في ملف PHP الخاص بك:

 رأس ( 'X-XSS-الحماية: 0')؛ 

ASP.NET

نحن هنا نقوم بتعطيل حماية XSS مؤقتًا حتى يمكنك إضافة المعالج المناسب في التعليمات البرمجية المصدر.

 HttpContext.Response.AddHeader ( "X-XSS-حماية"، "0")؛ 

إذا كنت تقوم بتكوين ملف Web.Config ، فيمكنك إضافة التعليمات البرمجية التالية بدلاً من ذلك:

 [...] 

ASP.NET Server طلب التحقق من الصحة

في بعض الحالات ، سيرفض الخادم طلب POST حتى لو أضفنا العنوان المطلوب. حل آخر هو استخدام " Request.Unvalidated " والذي سيكون كائنًا تم إنشاؤه خصيصًا لمعالجة الحصول على طلب بيانات "غير آمن".

 var code = Request.Unvalidated.Form ["code"]؛ 

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

إذا كنت تستخدم نماذج الويب ، فيمكنك استخدام:

إذا كنت تستخدم MVC ، فيمكننا استخدام " [ValidateInput (false)] " التي تعد سمة على وحدة التحكم. يتم ذلك لمنع التحقق من الصحة.

 [ValidateInput (false)] تحويل ActionResult عام (طلب CodeRequest) {...} 

إعدادات HttpRuntime IIS

يتم استخدام IIS Express بواسطة Visual Studio لخدمات الويب وهو أحد أكثر البنى المستخدمة حتى الآن. عند استخدام ASP.NET ، قد يحظر IIS طلبك حتى قبل أن يكتسب ASP.NET التحكم. سنحاول إيقاف تشغيل هذا في web.config ومحاولة الحصول على السلوك القديم باستخدام التعليمات البرمجية التالية:

إذا لم نفعل ذلك ، فسوف تفشل IIS وترفض الطلب حتى قبل نقله إلى ASP.NET.

ملاحظة: تعتبر هذه الحلول فكرة جيدة إذا كان موقع الويب الخاص بك يتعذر الوصول إليه ويسبب لك خسارة. يجب عليك دائمًا تعديل شفرة المصدر الخاصة بك حتى تتمكن من التعامل مع XSS Auditor بشكل صحيح. استخدم هذه الأدوات مؤقتًا فقط حتى تتمكن من العمل على حل مناسب.

الحل (إذا كنت لا تدير الموقع)

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

  1. انقر بزر الماوس الأيمن في أي مكان على سطح المكتب واختر New> Shortcut .
  2. الآن قم بلصق سطور التعليمات البرمجية التالية وفقًا لإصدار Google Chrome المثبت على جهاز الكمبيوتر الخاص بك.

ل 64 بت كروم

 "C: \ Program Files \ Google \ Chrome \ Application \ chrome.exe" -disable-xss-auditor 

لكروم 32 بت

 "C: \ ملفات البرنامج (x86) \ Google \ Chrome \ Application \ chrome.exe" -disable-xss-auditor 

فتح Chrome مع تعطيل XSS Auditor
  1. سيتم الآن إنشاء اختصار Chrome. الآن حاول الوصول إلى موقع الويب وتحقق من حل رسالة الخطأ.

ملاحظة: تعمل هذه الطريقة على تعطيل XSS Auditor على متصفحك والذي يعد جزءًا لا يتجزأ من آلية الأمان. يرجى المتابعة على مسؤوليتك الخاصة ، ويوصى باستخدام هذه الميزة مؤقتًا فقط.

مقالات مثيرة للاهتمام