漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-077970
漏洞标题:百度云网盘存储型XSS(可CSRF改名/共享/删除文件)
相关厂商:百度
漏洞作者: 超威蓝猫
提交时间:2014-09-30 21:36
修复时间:2014-11-14 21:38
公开时间:2014-11-14 21:38
漏洞类型:xss跨站脚本攻击
危害等级:高
自评Rank:15
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-09-30: 细节已通知厂商并且等待厂商处理中
2014-10-01: 厂商已经确认,细节仅向厂商公开
2014-10-11: 细节向核心白帽子及相关领域专家公开
2014-10-21: 细节向普通白帽子公开
2014-10-31: 细节向实习白帽子公开
2014-11-14: 细节向公众公开
简要描述:
今天是你的生日
详细说明:
这个问题我早在 http://wooyun.org/bugs/wooyun-2014-072520 就已经报告过,PC版页面已经修复了漏洞,但当时只是简单提了一下的手机版页面,没有修复,是百度不够重视吗?好那下面就看我如何一步一步放大危害。
参考 http://wooyun.org/bugs/wooyun-2014-072520 ,将QQ昵称改为如下代码后,在百度网盘登录并分享文件,
得到链接 http://pan.baidu.com/s/1kTqTrzL 。
将浏览器UA修改为手机后,访问该链接会返回手机版页面,同时触发我们注入的JS代码。
是否存在一打开就是WAP版的链接呢? 我们百度一下 pan,baidu.com wap 看看:
这条链接打开就是WAP版的下载页,看来有戏了:
把链接中的uk与shareid参数修改为 http://pan.baidu.com/s/1kTqTrzL 对应的值,这两个参数在页面源码中都可以找到
构造出链接: http://pan.baidu.com/wap/link?shareid=1180545652&uk=1549176177
至此,我们可以实现无需特定UA即可执行我们的JS代码。
但紧接着又是个难点: 这个页面没有jQuery,无法用$.getScript()来加载远程JS,有PDC._load_js()用来加载远程JS,但我们的输出点在这个函数的前面
而QQ昵称最长为36字符,这怎么构造都没法加载JS嘛
经过与@Mramydnei 神的一阵谈笑风生,我也是瞬间爆炸: 页面标题可控,那何不eval(document.title)呢?
可是现实很残酷:
//不能用了,又甩不掉这个该死的尾巴,不会JS的下场就是只能无脑试:
正当我脚进脑子正要放弃时,宇宙第一真神@Mramydnei 神一语道破天机:
当时我就卧槽了: http://pan.baidu.com/wap/link?shareid=3111719745&uk=1532394789
突破了36字符限制这道坎,加载JS还不简单?将文件名修改为
看看效果: http://pan.baidu.com/wap/link?shareid=2326509483&uk=1532394789
成功执行恶意JS。
或许你会说,"辣鸡,拿不到BDUSS有啥用?" 对对对,接下来我们看看有啥用:
先给出一段POC
(为了上图方便 我这里直接在控制台执行了)
这是重命名文件所发送的HTTP请求
这是共享文件的请求
这是删除文件的请求
所以,只需要从当前页面(http://pan.baidu.com/wap/link?shareid=3111719745&uk=1532394789)取出victim的 bdstoken,通过XmlHttp发起get请求,从 http://pan.baidu.com/api/list?num=100&page=1&dir=%2F&order=time&desc=1 获取 fs_id 和 path 这两个值,就可以通过XmlHttp发POST请求,对victim网盘里的文件进行删除/共享/重命名等操作。
漏洞证明:
如上。
alert() http://pan.baidu.com/wap/link?shareid=1180545652&uk=1549176177
eval(alert()) http://pan.baidu.com/wap/link?shareid=3111719745&uk=1532394789
eval(loadJS()) http://pan.baidu.com/wap/link?shareid=2326509483&uk=1532394789
另外,pan,baidu.com 等同于 yun.baidu.com ,可以用以上链接在yun.baidu.com域下伪造请求,更多危害不再赘述。
修复方案:
求礼物 :v
版权声明:转载请注明来源 超威蓝猫@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:8
确认时间:2014-10-01 04:00
厂商回复:
感谢提交,我们已经通知业务部门处理此问题。
最新状态:
暂无