点击劫持 ClickJacking
注:文章只供学习使用。
是什么?
点击劫持是一种视觉上的欺骗手段。如攻击者使用一个透明的、不可见的iframe,覆盖在一个网页上,然后诱使用户在该网页上进行操作。
怎么做?
诱导目标点击已经构造的页面。
原理?
直接和用户交互,使用户完成某些操作。不需要像CSRF要与server进行交互。
思路:
<iframe>
标签
图片覆盖
拖拽劫持与窃取
触屏劫持
还可能被用于钓鱼、欺诈、广告。
防御ClickJacking
禁止跨域的iframe
方法1:frame busting
iframe中通常可以写一段JavaScript代码,以禁止iframe的嵌套。这种方法叫frame busting。
不足:如HTML5的sandbox属性和IE 中iframe的security属性限制iframe页面执行js的执行
方法2:X-Frame-Options
X-Frame-Options是一个Http头
X-Frame-Options的值:
DENY:浏览器拒绝当前页面加载任何frame页面
SAMEORIGIN:只允许同源域名下的
ALLOW-FROM origin:允许
其他方案:Firefox的"Content Security Policy"和No-Script扩展 低于ClickJacking