是否需要限制性的同源政策?

信息安全 同源策略 科尔斯 金属丝
2021-08-15 23:21:35

问题是安全界在这里解决一些误解。

症结所在:

  • 公司 (Wire) 有一个客户端 (official-client.com) 和一个服务器代码 (例如 official-server.com )。
  • CORS 目前允许 official-client.com 访问 official-server.com,但 unofficial-client.com 无权访问 official-server.com
  • 官方客户端的代码可用于自定义应用程序重用(假设托管在 unofficial-client.com 上)

这里的用例很简单:向其他人公开受身份验证保护的 API 服务。而“其他”的定义目前仅设置为“official-client.com”。

问: 没有有什么好处?

Access-Control-Allow-Origin: *

引用另一篇文章,如果应用程序通过限制对一个域的资源访问来依赖其安全性(因为可以使用 DNS/本地主机伪造该域),则该应用程序似乎并不安全。但这不是真正的问题。

我错过了什么?

1个回答

CORS 策略可防止恶意网站访问其他域上的数据。例如,foo.com不应该能够bar.com通过 ajax 请求或类似机制读取内容。如果您将Access-Control-Allow-Origin标头设置为*,则它允许 Internet 上的任何域向您的域发送请求。

默认情况下,如果未Access-Control-Allow-Origin设置标头,则应用默认 SOP,并且只能从同一域发出请求。

DNS 中毒在这里无关紧要,因为 CORS 的目的是防止信息泄露给其他主机。如果服务器使用 HTTPS,您将无法进行中间人连接或模拟服务器,这不会为您带来任何好处。