通常与跨站点脚本(XSS)一起提到相同起源策略(SOP)。但是似乎在具有SOP的世界中,XSS仍会不时发生。
因此,我永远不清楚“同一来源策略”能阻止什么类型的攻击?
换句话说,想象一个没有SOP的世界,与具有SOP的现实世界相比,恶意攻击者还能获得什么其他能力?

我在这个网站(http://security.stackexchange.com/questions/8264/why-is-the-same-origin-policy-so-important)上看到“假设您已登录Facebook并访问了以下恶意网站:如果没有相同的原始策略,则该网站上的JavaScript可能会对您的Facebook帐户产生允许执行的任何操作。”实际上,这使我更加困惑,因为我从未听说过一个选项卡中的网页机制可以操纵来自同一域的其他选项卡。
在这里(http://javascript.info/tutorial/same-origin-security-policy)还(更明确地)提到SOP阻止一个窗口中的脚本操纵另一个窗口中的DOM元素。但是我真的不能将示例与所解释的内容联系起来(窗口在这里意味着什么?该示例似乎在谈论iframe)。

综上所述,如果没有SOP,谁能举一些具体的例子呢?

另外,我对一个窗口中的脚本如何操作另一个窗口中的DOM元素感到好奇,假设这两个窗口来自同一域。但这不是这个问题的主要方向

谢谢!

最佳答案

我从未听说过在一个标签中操纵任何标签的网页机制[...]似乎该示例在谈论iframe


iframe是获得跨窗口脚本的最简单但并非唯一的方法。另一种方法是使攻击者页面将window.open中的文档从facebook.com移到新选项卡中。因为open返回选项卡的window对象的句柄,所以一个选项卡中的脚本可能与另一个选项卡中的内容进行交互。

没有SOP,该脚本可以代表您填写并提交该选项卡中的表单。


XSS仍会不时发生。因此,我永远不清楚“同一来源策略”能阻止什么类型的攻击?


没有SOP,每个网页都容易受到XSS的攻击,任何人都无法保证安全。

借助SOP,除非作者犯了错误,否则网页可以安全地抵御XSS。不幸的是,由于站点作者确实犯了错误,因此XSS仍会不时发生。

关于security - “相同原产地政策”可以给我们带来什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11981904/

10-08 21:02