【发布时间】:2018-12-10 19:24:10
【问题描述】:
This MSDN article 解释说same-origin policy 不允许读取。
具体来说:
来自 Origin A 的网页:
可能包含(执行)从“B”指向 HTML 页面的框架
必须不允许获取该框架的内部 HTML
如何在不访问内容的情况下“包含(执行)”另一个 html 文件?
在这种情况下,“包含(执行)”是什么意思?
【问题讨论】:
-
人(或狗)看着加载帧的渲染结果可以看到内容,但是 Origin A JavaScript 根本无法访问。
-
这些政策主要是关于控制来自特定来源的 JavaScript 可以对来自另一个来源的内容执行的操作。
-
是的,攻击站点可以做到这一点(假设银行站点没有使用
X-Frame-Options标头保护自己),但是它无法获得浏览器将内容呈现给用户的屏幕。如果你想出办法做到这一点,你就发现了浏览器中的一个重大安全漏洞。 -
而 CSRF 基本上就是您描述的情况,但是使用 XHR。攻击者试图“搭载”现有会话,因此银行必须要求某种令牌(由于 SOP)攻击站点无法获得。
-
是的,XSS 属于更广泛的问题类别,不涉及 SOP。
标签: javascript html security same-origin-policy