我知道现代反点击劫持方法,例如 X-Frame-Options 标头或 framekiller 脚本。但是所有这些策略都阻止了内容在 iframe 中。但是,如果要求内容在 iframe 中,例如 Twitter 的“关注”按钮或 Facebook 的“赞”按钮,该怎么办?如何保护此类 iframe 免受点击劫持?
如何防止点击劫持攻击但允许合法的 iframe?
分享按钮通常会使用iframe 来保护它们免受 CSRF 的影响。在这种情况下,CSRF 和 ClickJacking 具有相同的影响,有时称为“ LikeJacking ”。您必须选择容易受到 CSRF 的攻击,或者您可以使用 iframe 阻止 CSRF,但随后您将自己暴露给 ClickJacking。碰巧 ClickJacking 是两害相权取其轻。 FaceBook 通过 Legal Action 解决了这个逻辑问题。您可以对您的服务条款进行“LikeJacking”和 ClickJacking,并像 Facebook 一样起诉他们。
这个问题可能有技术解决方案。我就这个话题向 Google Security 发送了电子邮件,他们说他们在哪里使用“信号分析”来确定是否正在发生行为。至少可以说,这是一个非常气派的答案。作为谷歌,他们会抓取所有喜欢的页面,并且他们可以确定是否有点击劫持方法,例如 SVG 掩码被父页面应用到他们的 iframe。但这只是猜测。
您可能需要检查其中一个 DNSBL。其中一些在垃圾邮件中发现了 URL。我不能建议哪一个拥有最好的数据库,但你可以用谷歌搜索在线 DNSBL 检查并查看有问题的网站(如果有的话)。这种检查可以在页面执行期间实时完成。
URI DNSBLs URI DNSBL 是一种 DNSBL,它列出了在垃圾邮件正文中包含的“可点击”链接中找到的域名和 IP 地址,但通常在合法邮件中找不到。URI DNSBL 是在确定在第一次使用垃圾邮件发送 IP 地址到该发送 IP 地址首次在主要发送 IP DNSBL。在许多情况下,此类难以捉摸的垃圾邮件在其链接中包含域名或 IP 地址(统称为 URI),其中该 URI 已在先前捕获的垃圾邮件中被发现,而该 URI 在非垃圾邮件中找不到。因此,当垃圾邮件过滤器从邮件中提取所有 URI 并根据 URI DNSBL 检查它们时,