Computer >> Hướng Dẫn Máy Tính >  >> Xử Lý Sự Cố >> Lỗi Windows

Khắc phục: Lỗi ERR_BLOCKED_BY_XSS_AUDITOR

Chrome luôn được phát triển tích cực với các phiên bản mới phát hành thường xuyên để bao gồm tính năng mới và cải tiến bảo mật. Chrome không chỉ dùng để duyệt web; nó cũng được dùng cho nhiều dịch vụ web mà các nhà phát triển tận dụng.

Khắc phục: Lỗi ERR_BLOCKED_BY_XSS_AUDITOR

Với bản xây dựng Chrome 57 gần đây, khả năng phát hiện XSS auditor đã được cải tiến đáng kể. Họ đã thiết lập các hướng dẫn mới khiến các dịch vụ web ngừng hoạt động và đưa ra thông báo lỗi 'ERR_BLOCKED_BY_XSS_AUDITOR'.

Thông báo lỗi này xảy ra khi nội dung HTML được gửi qua phương thức POST bên trong yêu cầu. Google Chrome có tính năng bảo mật XSS luôn phân tích HTML được gửi qua biểu mẫu và chặn những yêu cầu đó. Cách này, các biểu mẫu không bao giờ được gửi đi và các cuộc khai thác XSS được tránh.

Nguyên nhân gây ra thông báo lỗi 'ERR_BLOCKED_BY_XSS_AUDITOR' trong Chrome

Như đã đề cập, bản xây dựng gần đây của Chrome đã cải tiến XSS Auditor để các lỗ hổng XSS không bị khai thác. Vì vậy, bạn có thể nhận được thông báo lỗi nếu chưa cập nhật mã nguồn của mình cho phù hợp.

Hầu hết thời gian, có một dương tính giả (false positive) khi trình duyệt tin rằng một cuộc tấn công 'cross-site scripting' đang bị ép buộc. Những cuộc tấn công này chủ yếu xảy ra khi trình duyệt bị lừa để hiển thị JavaScript hoặc HTML không phải là một phần của khía cạnh hiển thị của trang web.

Giải pháp (Nếu bạn quản trị trang web)

Nếu bạn là quản trị viên trang web và thông báo lỗi này xảy ra khi sử dụng bình thường, bạn có thể thử loại bỏ nó bằng cách thêm một số tiêu đề trang vào tiêu đề POST. Đây là giải pháp tạm thời cho đến khi bạn có một giải pháp thay thế thích hợp xử lý đúng yêu cầu XSS Auditor.

PHP

Thêm tiêu đề sau vào tệp PHP của bạn:

header('X-XSS-Protection:0');

ASP.NET

Ở đây chúng tôi tạm thời tắt bảo vệ XSS cho đến khi bạn thêm trình xử lý thích hợp vào mã nguồn.

HttpContext.Response.AddHeader("X-XSS-Protection","0");

Nếu bạn đang cấu hình tệp Web.Config, bạn có thể thêm mã sau thay thế:

<system.webServer> <httpProtocol> <customHeaders> <add name="X-XSS-Protection" value="0" /> </customHeaders> [...]

Xác thực yêu cầu máy chủ ASP.NET

Trong một số trường hợp, máy chủ sẽ từ chối yêu cầu POST ngay cả khi chúng ta đã thêm tiêu đề cần thiết. Một giải pháp thay thế khác là dùng 'Request.Unvalidated' — đối tượng được tạo chuyên biệt để xử lý việc lấy dữ liệu yêu cầu 'không an toàn'.

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

Điều này có thể chỉ hoạt động cho Xác thực yêu cầu ASP.NET.

Nếu bạn dùng web forms, bạn có thể dùng:

<@ Page validateRequest="false" %>

Nếu bạn dùng MVC, có thể dùng '[ValidateInput(false)]' — thuộc tính trên controller. Điều này để ngăn chặn xác thực.

[ValidateInput(false)] public ActionResult Convert(CodeRequest request) { ... }

Cài đặt HttpRuntime của IIS

IIS Express được Visual Studio dùng cho dịch vụ web và là một trong các kiến trúc phổ biến nhất cho đến nay. Khi bạn dùng ASP.NET, IIS có thể chặn yêu cầu của bạn ngay cả trước khi ASP.NET lấy quyền kiểm soát. Chúng ta sẽ thử tắt điều này trong web.config và cố gắng lấy lại hành vi cũ bằng mã sau:

<httpRuntime requestValidationMode="2.0"/>

Nếu không làm điều này, IIS sẽ thất bại và từ chối yêu cầu trước khi nó được chuyển cho ASP.NET.

Lưu ý: Các giải pháp thay thế này là ý tưởng tốt nếu trang web của bạn không thể truy cập và gây thiệt hại. Bạn luôn luôn nên sửa đổi mã nguồn để xử lý đúng XSS Auditor. Chỉ dùng các giải pháp này tạm thời cho đến khi bạn tìm ra sửa chữa thích hợp.

Giải pháp (Nếu bạn KHÔNG quản trị trang web)

Nếu bạn là người dùng thông thường và không có quyền truy cập hoặc quản trị trang web, bạn có thể thử khởi chạy Chrome không có XSS Auditor. Chúng ta sẽ tạo một lối tắt của Google Chrome và thêm các cờ cần thiết để khởi chạy nó trong điều kiện của chúng ta.

  1. Nhấp chuột phải vào bất kỳ đâu trên màn hình nền và chọn Mới > Lối tắt.
  2. Bây giờ dán các dòng mã sau theo phiên bản Google Chrome cài trên máy tính của bạn.

Chrome 64-bit

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

Chrome 32-bit

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -disable-xss-auditor
Khắc phục: Lỗi ERR_BLOCKED_BY_XSS_AUDITOR
  1. Lối tắt Chrome của bạn hiện đã được tạo. Bây giờ thử truy cập trang web và kiểm tra xem thông báo lỗi đã được khắc phục chưa.

Lưu ý: Phương pháp này tắt XSS Auditor trên trình duyệt của bạn — một phần không thể thiếu của cơ chế bảo mật. Hãy thực hiện tại your own risk và khuyến nghị chỉ dùng tính năng này tạm thời.