漏洞概要 关注数(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标签: 无
漏洞详情
披露状态:
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账号的功能
而在浏览器的下载模块添加了115网盘的上传功能
在浏览器登陆115账号的用户可以直接通过浏览器上传本地文件到网盘
分析一下 chrome://downloads/#upload的上传功能引用了
那么就代表只要取得115.com的域就有可能操作chrome://downloads/#upload
先看看upload.js
里面的方法很多 直接调用uploadInterface.CreateUploadDragTask方法来上传文件
target就是初始化配置里面的UPLOAD_CONFIG_NEW.target = "U_1_0";
代表在网盘的目录ID
这样就能调用浏览器的上传了
二:上传文件的方法分析出后就要找特权域了
刚才提到115.com就是了,直接在主站找到一个反射xss
但是有chrome 的xss auditor
最近老外爆出的一个bypass也过不了
这个bypass在最新版的chrome都过了,但是在115浏览器就过不了。
后来经@phithon给的一个旧版chrome的bypass绕过了,因为115内置的chrome版本比较老,所以最新的bypass对他也不适用。
最后得出的bypass是因为chrome对ISO-2022字符编码没有进行检测
所以可以利用ISO-2022的编码来绕过
(此tip在三年前就被老外提出了,现在在chrome早已修复,但有些使用较旧chrome内核的浏览器有可能存在)
三:
特权域上的xss解决了。另外由于文件是上传到对方账号的网盘上,所以我们要登陆到对方的网盘才可以拿到我们窃取的文件。本来是想着直接利用xss到cookie就可以登陆别人网盘拿到窃取到的东西了,但却发现115启用了httponly
然后就找了好几天能突破httponly的地方,但没有找到.后来就想到了一个猥琐的方法,把对方登陆的网盘账号,换成自己的网盘账号,不就可以拿到盗窃的文件了.
这里就想到用csrf的方式来登陆自己的账号,也不需要去分析115的登陆加密算法
登陆时直接抓包
把所有字段都写成一个表单自动提交
漏洞证明:
最后给出EXP:
以上表单上的字段都要自己抓包去替换哦,生成出来的登陆包数据是长期有效的,短时间内不会失效,可以重复使用登陆.
成功窃取到指定路径的文件
顺便把代码放到我的服务器上吧
测试地址: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和浏览器还在不断升级中!感谢支持! :)
赞下洞主的研究精神。
最新状态:
暂无