Chrome อยู่ระหว่างการพัฒนาอย่างต่อเนื่องโดยมีเวอร์ชันใหม่ ๆ ออกมาเป็นระยะเพื่อรวมคุณลักษณะใหม่ ๆ และการปรับปรุงความปลอดภัย 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 ถูกใช้ประโยชน์ ด้วยเหตุนี้คุณอาจได้รับข้อความแสดงข้อผิดพลาดหากคุณไม่ได้อัปเดตซอร์สโค้ดตามนั้น
โดยส่วนใหญ่แล้วจะมีผลบวกที่ผิดพลาดเมื่อเบราว์เซอร์เชื่อว่ามีการบังคับใช้การโจมตีแบบ 'cross-site scripting' การโจมตีเหล่านี้ส่วนใหญ่เกิดขึ้นเมื่อเบราว์เซอร์ถูกหลอกให้แสดง JavaScript หรือ HTML ซึ่งไม่ได้เป็นส่วนหนึ่งของลักษณะการแสดงผลของเว็บไซต์
วิธีแก้ไข (หากคุณดูแลเว็บไซต์)
หากคุณเป็นผู้ดูแลเว็บไซต์และข้อความแสดงข้อผิดพลาดนี้เกิดขึ้นเมื่อคุณมีการใช้งานตามปกติคุณสามารถลองลบออกได้โดยเพิ่มส่วนหัวของหน้าบางส่วนในส่วนหัว POST นี่เป็นการแก้ไขชั่วคราวจนกว่าคุณจะมีทางเลือกอื่นที่เหมาะสมซึ่งจัดการกับคำขอผู้ตรวจสอบ XSS ได้อย่างเหมาะสม
PHP
เพิ่มส่วนหัวต่อไปนี้ในไฟล์ PHP ของคุณ:
ส่วนหัว ('X-XSS-Protection: 0');
ASP.NET
ที่นี่เรากำลังปิดใช้งานการป้องกัน XSS ชั่วคราวจนกว่าคุณจะสามารถเพิ่มตัวจัดการที่เหมาะสมในซอร์สโค้ดของคุณได้
HttpContext.Response.AddHeader ("X-XSS-Protection", "0");
หากคุณกำลังกำหนดค่าไฟล์Web.Configคุณสามารถเพิ่มโค้ดต่อไปนี้แทน:
[... ]
การตรวจสอบคำขอเซิร์ฟเวอร์ ASP.NET
ในบางกรณีเซิร์ฟเวอร์จะปฏิเสธคำขอ POST แม้ว่าเราจะเพิ่มส่วนหัวที่ต้องการแล้วก็ตาม วิธีแก้ปัญหาอื่นคือการใช้ ' Request.Unvalidated ' ซึ่งจะเป็นอ็อบเจ็กต์ที่สร้างขึ้นโดยเฉพาะเพื่อจัดการกับการขอรับข้อมูล 'ไม่ปลอดภัย'
var code = Request.Unvalidated.Form ["code"];
สิ่งนี้อาจใช้ได้เฉพาะกับการตรวจสอบคำขอ ASP.NETเท่านั้น
หากคุณใช้เว็บฟอร์มคุณสามารถใช้:
หากคุณกำลังใช้MVCเราสามารถใช้ " [ValidateInput (false)] " ซึ่งเป็นแอตทริบิวต์บนคอนโทรลเลอร์ สิ่งนี้ทำเพื่อป้องกันการตรวจสอบความถูกต้อง
[ValidateInput (false)] การแปลง ActionResult สาธารณะ (คำขอ CodeRequest) {... }
การตั้งค่า IIS HttpRuntime
Visual Studio ใช้ IIS Express สำหรับบริการเว็บและเป็นหนึ่งในสถาปัตยกรรมที่ใช้กันมากที่สุดในปัจจุบัน เมื่อคุณใช้ ASP.NET IIS อาจบล็อกคำขอของคุณก่อนที่ ASP.NET จะได้รับการควบคุม เราจะพยายามปิดสิ่งนี้ในweb.configและพยายามรับพฤติกรรมเก่าโดยใช้รหัสต่อไปนี้:
หากเราไม่ทำเช่นนี้ IIS จะล้มเหลวและปฏิเสธคำขอก่อนที่จะส่งต่อไปยัง ASP.NET
หมายเหตุ:วิธีแก้ปัญหาเหล่านี้เป็นความคิดที่ดีหากเว็บไซต์ของคุณไม่สามารถเข้าถึงได้และทำให้คุณสูญเสีย คุณควรแก้ไขซอร์สโค้ดของคุณอยู่เสมอเพื่อให้คุณสามารถจัดการกับ XSS Auditor ได้อย่างเหมาะสม ใช้สิ่งเหล่านี้เพียงชั่วคราวจนกว่าคุณจะสามารถแก้ไขได้อย่างเหมาะสม
วิธีแก้ไข (หากคุณไม่ได้ดูแลเว็บไซต์)
หากคุณเป็นผู้ใช้ทั่วไปและไม่มีสิทธิ์เข้าถึงหรือดูแลเว็บไซต์คุณสามารถลองเปิด Chrome โดยไม่มีผู้ตรวจสอบ XSS เราจะสร้างทางลัดของ Google Chrome และเพิ่มแฟล็กที่จำเป็นเพื่อเปิดใช้งานในเงื่อนไขของเรา
- คลิกขวาที่ใดก็ได้บนเดสก์ทอปของคุณและเลือกใหม่> ทางลัด
- ตอนนี้วางโค้ดต่อไปนี้ตามเวอร์ชันของ Google Chrome ที่ติดตั้งบนคอมพิวเตอร์ของคุณ
สำหรับ Chrome 64 บิต
"C: \ Program Files \ Google \ Chrome \ Application \ chrome.exe" -disable-xss-audit
สำหรับ Chrome 32 บิต
"C: \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe" -disable-xss-audit

- ทางลัด Chrome ของคุณจะถูกสร้างขึ้น ตอนนี้ลองเข้าถึงเว็บไซต์และตรวจสอบว่าข้อความแสดงข้อผิดพลาดได้รับการแก้ไขหรือไม่
หมายเหตุ:วิธีนี้กำลังปิดใช้งาน XSS Auditor บนเบราว์เซอร์ของคุณซึ่งเป็นส่วนสำคัญของกลไกการรักษาความปลอดภัย โปรดดำเนินการด้วยความเสี่ยงของคุณเองและขอแนะนำให้คุณใช้คุณลักษณะนี้ชั่วคราวเท่านั้น