前端点击劫持

Posted ygjzs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端点击劫持相关的知识,希望对你有一定的参考价值。

点击劫持

  • 用户亲手操作---盗取用户资金(转账,消费)
  • 用户不知情---获取用户敏感信息
  • ....if

利用 iframe 内嵌页面,并将原页面透明度设置为零,这样实现点击劫持

点击劫持防御

  • javascript 禁止内嵌
    • 在内嵌页面中topwindow不等
if (top.loaction != window.location) {
  top.location = window.location;
}

但这种方式有时并不完全有效,因为攻击者是可以禁止 JavaScript 脚本的

<iframe
  sandbox="allow-forms"
  style="opacity:"
  src="..."
  width="800"
  height="600"
></iframe>

H5 的 sandbox 属性就可以让攻击得到想要的结果

  • X-FRAME-OPTIONS 禁止内嵌

这种方式可以有效解决上述问题

加入组织内嵌的头部,这样就可以解决上面的问题,这种方式也是防御点击劫持最有效的

ctx.set(‘X-Frame-Options‘,‘DENY‘)

  • 其他辅助手段
    • 加验证码
    • 影响用体验,但可以有效预防,不能完全预防
    • 仅仅是辅助手段,并不能根本解决

以上是关于前端点击劫持的主要内容,如果未能解决你的问题,请参考以下文章

前端开发工具vscode如何快速生成代码片段

点击劫持(ClickJacking)漏洞挖掘及实战案例全汇总

收藏|分享前端开发常用代码片段

前端面试题之手写promise

《白帽子讲WEB安全》学习笔记之第5章 点击劫持(clickjacking)

点击劫持漏洞之理解 python打造一个挖掘点击劫持漏洞的脚本