点击劫持

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

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

点击劫持防御

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

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

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
<iframe
  sandbox="allow-forms"
  style="opacity:"
  src="..."
  width="800"
  height="600"
></iframe>

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

  • X-FRAME-OPTIONS 禁止内嵌

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

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

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

  • 其他辅助手段
    • 加验证码
    • 影响用体验,但可以有效预防,不能完全预防
    • 仅仅是辅助手段,并不能根本解决
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄