“同源政策”有多安全?

时间:2011-09-09 16:46:38

标签: javascript html security web

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

但这是否足以保证“未知恶意网站”无法超越此限制?

基本上我担心一个非常聪明的匿名黑客能够在HIS网站上找到一个iframe,将iframe的网址指向我的网页,然后提取我网页的内容。

5 个答案:

答案 0 :(得分:4)

这是您正在寻找的资源:

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

它非常详细,但这就是重点。它实际上已经过时了几年,所以你也不会在那里找到IE9。

详细介绍了主要的浏览器/供应商以及他们特定的SOP规则要求的内容。例如,您可以控制哪些DOM,可以执行哪些HTTP标头,使用Cookie可以执行哪些操作等。

答案 1 :(得分:2)

相同的原始政策仅适用于在浏览器中启用该政策的人。如果此人禁用安全功能,浏览器允许跨域访问。

如果使用frame buster,则可以限制攻击,但是当用户删除安全性时,无法100%保护自己。

答案 2 :(得分:1)

同源政策是非常安全的,我们所知道的互联网如果没有它就会崩溃。你所描述的是明显违反Origin inheritance rules的行为。为了增加安全性,我将设置x-frame-options to prevent chickjacking

答案 3 :(得分:1)

同样的原始政策在保护与域相关的秘密方面历来做得很好,但XSS和其他注入攻击在某些类型的网站中很普遍,特别是混合来自不同来源的社交网站。 HTTPOnly cookie是通过注入防止一种凭证盗窃的一种不错的方法,但仅限于相对现代的浏览器。

同源政策不会阻止滥用与域相关的机密无关的权限。

  1. 通过恶意软件下载(例如影响NYTimes
  2. 的恶意软件下载)
  3. History sniffing在浏览器上构建私人信息档案。
  4. Intranet port scanning了解本地网络。
  5. Phishing重定向到虚假版本的网站以窃取凭据。
  6. 这些攻击可以合并。智能攻击者可以使用历史嗅探来检测用户是否使用了您的网站,然后对该用户进行网络钓鱼以获取对您网站的凭据的访问权限。虽然有些浏览器已经实施了特定的保护,但相同的原始政策并不会阻止这种情况; Mozilla implemented history sniffing safeguards

答案 4 :(得分:-1)

相同的来源政策旨在保护访问其他网站的用户免受XSRF式攻击您的网站。它无意以任何方式保护您网站上的内容(例如,iframe或代理可以将您的内容加载到其他网页中)。

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

因此,了解该策略是由浏览器而不是服务器强制执行的,这一点很重要。如果用户要在他们自己的浏览器中禁用该策略,他们只会打开潜在的攻击。但是,它对您的内容的安全性没有影响。