X-XSS-Protection là một tiêu đề bảo mật đã có từ phiên bản 4 của Google Chrome. Nó được thiết kế để cho phép một công cụ kiểm tra nội dung của trang web để tìm tập lệnh trên nhiều trang web được phản ánh. Tất cả các trình duyệt chính hiện đã ngừng hỗ trợ tiêu đề vì nó đã kết thúc với các lỗi bảo mật. Bạn hoàn toàn không nên đặt tiêu đề và thay vào đó hãy định cấu hình Chính sách bảo mật nội dung mạnh mẽ.
Mẹo: Cross-Site Scripting thường được rút ngắn thành từ viết tắt “XSS”.
Tập lệnh trên nhiều trang web được phản ánh là một lớp lỗ hổng XSS trong đó việc khai thác được mã hóa trực tiếp trong URL và chỉ ảnh hưởng đến người dùng truy cập URL. XSS được phản ánh là một rủi ro khi trang web hiển thị dữ liệu từ URL. Ví dụ: nếu một cửa hàng trực tuyến cho phép bạn tìm kiếm sản phẩm, cửa hàng đó có thể có một URL giống như sau “website.com/search?term=gift” và bao gồm từ “quà tặng” trên trang. Vấn đề bắt đầu xảy ra nếu ai đó đặt JavaScript trong URL, nếu nó không được làm sạch đúng cách, JavaScript này có thể được thực thi thay vì được in ra màn hình như bình thường. Nếu kẻ tấn công có thể lừa người dùng nhấp vào liên kết với loại tải trọng XSS này, chúng có thể thực hiện những việc như tiếp quản phiên của họ.
X-XSS-Protection nhằm phát hiện và ngăn chặn kiểu tấn công này. Thật không may, theo thời gian, một số bỏ qua và thậm chí cả lỗ hổng đã được tìm thấy trong cách hệ thống hoạt động. Các lỗ hổng này có nghĩa là việc triển khai tiêu đề X-XSS-Protection sẽ tạo ra lỗ hổng tập lệnh trên nhiều trang web trong một trang web an toàn khác.
Để bảo vệ khỏi điều này, với sự hiểu biết rằng tiêu đề Chính sách bảo mật nội dung, thường được rút ngắn thành “CSP”, bao gồm chức năng thay thế nó, các nhà phát triển trình duyệt đã quyết định gỡ bỏ tính năng này. Hầu hết các trình duyệt, bao gồm Chrome, Opera và Edge đã xóa hỗ trợ hoặc trong trường hợp của Firefox, không bao giờ triển khai nó. Chúng tôi khuyên các trang web nên tắt tiêu đề để bảo vệ những người dùng vẫn sử dụng các trình duyệt cũ với tính năng được bật.
X-XSS-Protection có thể được thay thế bằng cài đặt "nội tuyến không an toàn" trong tiêu đề CSP. Để có thể bật cài đặt này có thể mất rất nhiều công việc tùy thuộc vào trang web, vì điều đó có nghĩa là tất cả JavaScript phải ở trong các tập lệnh bên ngoài và không thể được đưa trực tiếp vào HTML.