同源策略(SOP)经常与跨站脚本(XSS)一起被提及。但似乎在有 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 元素。但我真的无法将示例与所解释的内容联系起来(window 在这里是什么意思?似乎该示例正在谈论 iframe)。
总而言之,谁能给出一些具体的例子来说明如果没有 SOP 会发生什么?
另外,我很好奇一个窗口中的脚本如何在另一个窗口中操作 DOM 元素,假设这两个窗口来自同一个域。但这不是这个问题的主要课程
谢谢!