点击劫持
- 用户亲手操作---盗取用户资金(转账,消费)
- 用户不知情---获取用户敏感信息
- ....if
利用 iframe 内嵌页面,并将原页面透明度设置为零,这样实现点击劫持
点击劫持防御
- JavaScript 禁止内嵌
- 在内嵌页面中
top
和window
不等
- 在内嵌页面中
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‘)
- 其他辅助手段
- 加验证码
- 影响用体验,但可以有效预防,不能完全预防
- 仅仅是辅助手段,并不能根本解决
原文地址:https://www.cnblogs.com/ygjzs/p/12244189.html
时间: 2024-10-07 16:48:55