【发布时间】:2011-10-24 03:43:46
【问题描述】:
我熟悉持久性和非持久性XSS。 我也知道Same origin policy 可以防止/限制源自一个网站页面的请求转到另一个网站服务器。这让我觉得同源策略至少可以阻止非持久类型的 XSS 攻击(因为在持久类型的攻击中,恶意代码的来源将与被盗的私人信息相同)。 我的理解正确吗?可以使用 SOP 来阻止/减少这些攻击吗?
编辑:好的,我在浏览器端的 2 个脚本之间调用方法和在另一个网站上调用诸如 HTTP POST 之类的方法之间感到困惑。谢谢jakber的回答。
现在我还有一个问题,SOP 不能阻止Cross-site request forgery 吗? 维基百科中给出的示例谈到 Bob 访问了由 Mallory 在聊天论坛上创建的恶意图像标签。但是,根据 SOP 规则,恶意脚本不应该能够访问银行的 cookie。我在这里遗漏了什么吗?
【问题讨论】:
-
SOP 不是您开始或停止的事情。它总是应用在你的浏览器中,所以很遗憾它不会停止 CSRF。将来也许像 CSP 这样的东西可能能够阻止这些攻击,但目前基于令牌的方法是避免 CSRF 的最佳方法。