除了默默无闻的安全性之外,同源策略还提供什么安全优势?

What security benefit does the Same Origin policy provide beyond security by obscurity?

当浏览器仅限制跨域 XMLHttpRequests 时,我正在努力了解同源策略提供的安全优势。

让我们看一下对同源策略的安全优势的很好解释:https://security.stackexchange.com/a/8269

总结该 SO 答案中的内容,同源策略可防止恶意网站执行可能对外部域产生副作用的 XMLHttpRequest。例如,它可以防止恶意网站在您通过 XMLHttpRequest object.

登录的银行网站上执行交易

但是那些相同的 HTTP 请求不能以不违反同源策略限制的另一种方式执行吗?

例如,要在另一个域(外部域)上执行 HTTP GET 请求,我可以使用 JSONP 或类似的技术,其中我使用 Javascript 设置 [=25= 的 src 属性] 元素添加到所需的 URL 外部域。这将强制浏览器在此外部域上执行 GET 请求,并且与所有 HTTP 请求一样,该 GET 请求将在其 headers 中包含该外部域的 cookie 数据。

作为另一个示例,要执行 POST 请求,我可以使用 Javascript 创建隐藏的表单元素并触发将该表单提交到外部域。同样,外部域特定的 cookie 数据将在 POST 请求中传递。

所以我的问题是我错过了什么...如果可以轻松绕过同源策略的安全优势,那么它的意义何在?

同源策略阻止您读取来自不同域的回复

正如您所发现的,没有什么可以阻止您向其他域发送请求,这就是存在 CSRF 漏洞的原因。

事实上,防御(CSRF 令牌)之所以有效,是因为同源策略阻止您从其他域窃取令牌。

需要使用SOP does not prevent you from sending requests (with credentials), it prevents you from accessing the response data. To secure submissions, CSRF tokens