“同源策略”的安全性如何?

How secure is the "same origin policy"?

本文关键字:安全性 策略 同源策略      更新时间:2023-09-26

我知道要读取iframe的内容,域、协议和端口必须匹配。

然而,这是否足以保证一个"未知的恶意网站"将无法通过此限制?

基本上我担心一个非常聪明的匿名黑客将能够在他的网站上有一个iframe,指向iframe的url到我的网页,并提取我的网页的内容。

这是您要查找的资源:

https://code.google.com/p/browsersec/wiki/Part2 Same-origin_policy

这是相当详细的,但这是重点。它实际上已经过时几年了,所以你也不会在里面找到IE9。

详细介绍了主要的浏览器/供应商以及他们特定的SOP规则的要求。比如DOM控件,HTTP标头,cookie等等

同源策略只适用于在浏览器中启用了同源策略的用户。如果用户禁用安全功能,浏览器允许跨域访问。

如果你使用帧破坏器,你可以限制攻击,但是当用户删除安全性时,没有办法100%保护你自己。

同源策略是非常安全的,正如我们所知,如果没有它,互联网就会崩溃。你所描述的显然违反了Origin继承规则。为了增加安全性,我会设置x帧选项来防止小鸡劫持。

同样的原始策略在历史上很好地保护了与域名相关的机密,但是XSS和其他注入攻击在某些类型的网站中很普遍,特别是那些混合了不同来源内容的社交网站。HTTPOnly cookie是一种不错的方式来防止一种通过注入的凭证盗窃,但仅适用于相对较新的浏览器。

同源策略不能阻止与域相关的秘密无关的权限滥用。

  1. 驱动由恶意软件下载,如那些影响纽约时报
  2. 嗅探历史记录以建立浏览器上的私有信息档案。
  3. 内网端口扫描,了解本地网络。
  4. 网络钓鱼重定向到一个虚假的网站版本来窃取凭证。

这些攻击可以组合使用。聪明的攻击者可以使用历史嗅探来检测用户使用您的网站,然后对该用户进行网络钓鱼,以获得访问您网站的凭据。同源策略不会阻止这种情况,尽管一些浏览器已经实现了特定的保护;Mozilla实现了历史嗅探保护。

同源策略旨在保护访问其他站点的用户免受针对您的站点的xsrf式攻击。它不打算以任何方式保护您网站上的内容(例如,iframes或代理将允许您的内容加载到另一个网页)。

例如,如果您正在运行一个银行网站,它将保护访问evil.com的人不会通过AJAX请求自动将所有资金转移到离岸账户,因为请求可能来自不同的域。

因此,重要的是要理解该策略是由浏览器执行的,而不是服务器。如果用户在自己的浏览器中禁用该策略,那么他们只会让自己面临潜在的攻击。但是,它对内容的安全性没有影响。