What is Cross-Origin Resource Sharing (CORS)?
Là một cơ chế của trình duyệt giúp kiểm soát truy cập đến các tài nguyên nằm bên ngoài một domain nhất định. Về bản chất, nó là một bộ các HTTP header giúp định nghĩa origin tin cậy (header Access-Control-Allow-Origin hay ACAO) và các thuộc tính liên quan.
Để nới lỏng Same-Origin Policy, mà cụ thể là cho phép truy cập đến các subdomain và các domain của bên thứ ba, nhiều trang web đã sử dụng CORS.
Nếu chính sách CORS không được cấu hình một cách cẩn thận thì có thể dẫn đến XSS attack. CORS không được dùng để phòng chống các loại tấn công cross-site chẳng hạn như CSRF do kẻ tấn công có thể dễ dàng làm giả request đến từ các origin tin cậy.

How to Prevent CORS-based Attacks
Các lỗ hổng liên quan đến CORS thường được gây ra bởi việc cấu hình sai (misconfiguration).
Một số cách phòng chống:
- Nếu tài nguyên web có chứa dữ liệu nhạy cảm thì cần chỉ định origin tin cậy ở trong header
Access-Control-Allow-Originvà tránh việc sử dụng giá trị động. - Tránh việc sử dụng
Access-Control-Allow-Origin: null - Tránh việc sử dụng wildcard cho mạng nội bộ.