1

我已经阅读了很多关于 iframe 和点击劫持的内容,但无法找到我正在寻找的信息。你能帮我解决以下问题吗?

Iframe 点击劫持如何传播?我看过很多文章提到在本地机器上编辑 html 代码,同样他们可以通过添加一个不可见的按钮来劫持用户点击。但是,这是用户本地机器上的修改逻辑。我很想知道是否可以将相同的代码推送到云端并影响每个登录或使用该门户的用户?如果是,如何?

如果我在我的网站上启用 iframe 选项,则会存在安全风险,因为我的页面可以作为 iframe 加载到其他人的网站中,并且他们可能会滥用它。如果有任何安全数据,如果最终用户不小心进入该网站,数据就会被黑客入侵。这是一个安全问题,因此始终建议不要允许 Iframe,对吗?是否存在其他安全风险。

如有其他风险请补充。

4

1 回答 1

6

点击劫持不会传播。

正如它所说的那样 - 顶起咔嗒声 - 仅此而已。但是,这些点击的后果可能很严重。

假设您访问一个站点,evil.example.org. 在另一个选项卡中,您还登录了您的银行,bank.example.com.

evil.example.org还加载bank.example.com到 IFrame 中。但是,它使用 CSS 使这个 IFrame 不可见。它不加载主页,它加载汇款页面,传递一些参数:

<iframe src="https://bank.example.com/loggedIn/transferMoney?toAccount=Bob&amount=100000"></iframe>

现在,这个页面不会立即转账。它要求用户单击以确认转移给 Bob。

但是,evil.example.org在按钮下方绘制一个Confirm Transfer按钮说Free iPad click here

因为 IFrame 是不可见的,所以用户只看到Free iPad click here. 但是当他们点击时,浏览器会针对Confirm Transfer.

因为您在另一个选项卡中登录了银行网站,所以 Bob 刚刚骗走了您的钱。

请注意,X-Frame-Options标头修复了您网站上的此漏洞,假设它设置为SAMEORIGINDENY在添加标题之前,您很容易受到攻击。CSP 中有一个名为的新指令frame ancestors- 但是,只有最新的浏览器支持它,所以你最好现在添加两个标头。这将为您在 Internet Explorer 8 及更高版本以及 Chrome、Firefox、Opera 和 Safari 上提供保护。

防止框架还可以帮助阻止诸如跨站点历史操纵之类的攻击。

于 2015-09-15T13:23:49.793 回答