August 9, 2025
3 min read
Cookie HTTPOnly là một biện pháp giảm thiểu thiết thực chống lại các cuộc tấn công kịch bản phía máy khách, đặc biệt là kịch bản chéo trang (XSS). Khi thuộc tính HTTPOnly
được đặt trên một cookie, nó chỉ thị cho các trình duyệt không cho phép JavaScript phía máy khách truy cập vào cookie đó, chẳng hạn như thông qua document.cookie
. Thuộc tính bảo mật này đặc biệt giải quyết véc-tơ tấn công nơi các kịch bản độc hại cố gắng chiếm đoạt định danh phiên hoặc dữ liệu nhạy cảm bằng cách khai thác các lỗ hổng trong công cụ kịch bản của trình duyệt.
Các đánh giá thực nghiệm cho thấy việc bật cờ HTTPOnly trên cookie phiên làm giảm đáng kể nguy cơ bị đánh cắp phiên thông qua các cuộc tấn công XSS. Trong các môi trường kiểm thử xâm nhập được kiểm soát, các nhà nghiên cứu đã quan sát thấy:
Barth et al. đã phát hiện ra rằng “phần lớn các cuộc tấn công XSS tận dụng khả năng của JavaScript để đọc document.cookie và trích xuất các mã thông báo phiên” (Barth et al., 2008). Thí nghiệm bao gồm việc mô phỏng các payload XSS trên các ứng dụng web có và không có cookie HTTPOnly. Kết quả cho thấy tỷ lệ thất bại 100% trong các nỗ lực đánh cắp cookie khi có HTTPOnly, so với tỷ lệ thành công 100% khi không có.
Các nghiên cứu sâu hơn nhấn mạnh rằng mặc dù HTTPOnly không ngăn chặn được tất cả các dạng XSS—chẳng hạn như những dạng sửa đổi nội dung trang hoặc thực hiện các hành động đã được xác thực (CSRF)—nó là một rào cản đáng kể chống lại các hậu quả gây tổn hại nhất của XSS: xâm phạm phiên.
Những phát hiện chính:
Trong thực tế, việc triển khai HTTPOnly nên được kết hợp với các chỉ thị bảo mật khác (như cờ Secure và SameSite) để phòng thủ toàn diện. Các hạn chế bao gồm:
Nhìn chung, hiệu quả của thuộc tính này đã được khẳng định trong các nghiên cứu học thuật và công nghiệp, xác nhận vai trò của nó như một biện pháp kiểm soát thiết yếu cho bảo mật phiên của ứng dụng web.