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

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

缺陷编号:wooyun-2015-0127051

漏洞标题:利用QQ的一处小小的设计缺陷劫持其它网站用户帐号(以Discuz社区为例)

相关厂商:腾讯

漏洞作者: q601333824

提交时间:2015-07-16 16:23

修复时间:2015-07-17 20:15

公开时间:2015-07-17 20:15

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

危害等级:中

自评Rank:5

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-07-16: 细节已通知厂商并且等待厂商处理中
2015-07-17: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

其实这个说是漏洞,也不算是漏洞,徘徊在安全线的边缘,只是设计的时候没考虑到,以前提交过这种漏洞,但是后来在思考这个漏洞的锅该丢给谁,最终看到度娘的认证机制,才发现这个漏洞产生不是单方面的,而是双方面的(容我喝一口茶,慢慢道来)

详细说明:


1.QQ网页,有个检测电脑正在的使用的QQ并且能快速登录的功能
2.然后在快速登录抓包

①.他先请求ptsingx连接(暂时这样取名,根据其中ptsingx参数取名),然后返回一个连接,如图

9.png


10.png



②.然后再利用上面图上返回的连接进行登录,如图

11.png


3.上面这个连接并不是一次性的,而是能多次使用,只要帐号不退出,在一段时间内那个连接可以无限使用(时间失效时间很长,可以无限使用,这个因素可以不考虑了)

1.png


4.注意:另一个窗口我用的是隐身模式,所以不会因为cook等因素的影响测试(不用打码了,测试完我就退出登录了,所以连接不用打码)

3.png


-------------------------------------------------------------------------------------------------
3.接下来用Discuz官方社区为例,官方社区有个绑定QQ帐号,并且以后可以用QQ帐号登录的功能.把鼠标放在绑定按钮上,可以看见浏览器下方已经出现了绑定QQ的连接了

http://www.discuz.net/connect.php?mod=login&op=init&type=loginbind&referer=home.php?mod=spacecp&ac=plugin&id=qqconnect:spacecp


4.png


4.然后当访问上面那个连接的时候,会直接跳到QQ帐号快速登录界面,然后倒计时,时间一到,QQ自动登录,然后绑定上社区的帐号了
①.

http://www.discuz.net/connect.php?mod=login&op=init&type=loginbind&referer=home.php?mod=spacecp&ac=plugin&id=qqconnect:spacecp


            ↓(访问,然后直接跳到下面的连接)
②.

http://openapi.qzone.qq.com/oauth/show?which=ConfirmPage&display=pc&response_type=code&client_id=10000034&redirect_uri=http%3A%2F%2Fwww.discuz.net%2Fconnect.php%3Fmod%3Dlogin%26op%3Dcallback%26referer%3Dhome.php%253Fmod%253Dspacecp&state=ef63cab287010dcaf6e3d4e91f1de7e8&scope=get_user_info%2Cadd_share%2Cadd_t%2Cadd_pic_t%2Cget_repost_list


5.然后并且开始倒计时,时间一到社区就会绑定上社区的帐号了

5.png


6.png


------------------------------------------------------------------------------------------------
6.然后这个时候,有人会说,如果对方的电脑登录着QQ,就算访问我的连接登录帐号,在绑定帐号的时候会让我选择哪个QQ登录,不会倒计时自动登录,比如这种界面

8.png


7.一个小小的缺陷的就在这个点上,看上面的图,让我们选择登录的帐号,但是你有想过,为什么让我们选择??这个时候浏览器上,没有任何关于QQ空间的cook,才让你选择,如果你事先打开过空间登录过,他就不会出现选择帐号的界面,就会跳到正在登录的QQ帐号进行倒计时。如图

test.png


8.看见没,两个QQ都登录着,是否倒计时自动登录,却决于你刚才登录的QQ空间帐号来的

test.png


--------------------------------------------------------------------------------------
9.总结一下上面的意思
①.在QQ快速登录的时候,会显示帐号的敏感信息,并且这个连接,在一段时间内可以在其他电脑无限使用,只要我不退出帐号
②.别的网站绑定帐号的时候,是否倒计时自动登录,却决于你刚才登录的QQ空间帐号来的
③.另一方面就是Discuz官方社区没有进行二次验证,为什么这样说,比如拿度娘来说,他是有二次验证,百度帐号绑定QQ帐号的时候,不光QQ进行了认证,度娘还进行了二次验证,如图

3.png


④.这个就是我说的,为什么这个漏洞是双方面的,而不是单方面的漏洞!!!!!!
-------------------------------------------------------------------------------------------
10.然后,QQ还是很厉害,在快速登录跳转的时候,加了验证,做了一个测试,当登录QQ空间的连接从别的网站打开的时候,会验证Referer
,导致直接拒绝访问,不能登录QQ空间,也就不能绑定了

①.我在自己的网站,设置了一个连接,点击

6.png


②.点击跳转的时候,直接拒绝访问了

4.png


③.

sadsad.png


----------------------------------------------------------------------------------------
11.但是这个连接登录连接,限制不严格,如果来源是QQ空间,本地网页,QQ聊天窗口的话,不会拦截的
-----------------------------------------------------------------------------------------
12.下面我找了一个人测试(最近优衣库很火)
①.有人在求优衣库的种子的时候, 我两个连接,就说两个连接,一个不能用,换另外一个

1.png



②.看吧,我什么都没干,我的QQ已经绑定他的社区帐号了,我的QQ这边有提示了,自己又测试了一下,可以登录对方的帐号,我用的是短链接,太长的连接没人敢点

2.png



漏洞证明:


1.漏洞证明看上面
2.其实上面的意思说白了就是
利用快速登录,泄漏的连接让对方访问 → 再利用选择帐号的小缺陷自动登录(测试没有隐藏自动登录页面,真实场景可以隐藏掉倒计时.) → 一些网站没有和百度一样,作二次验证

修复方案:


1.像这种登录连接,用完一次能扔就扔吧
2.第一个请求可以查看这个登录连接,可以验证Referer,禁止别的来源查看=_=
3.不要因为腾讯业务正在登录,就不用选择帐号了(其他接口也存在问题,比如QQ邮箱快速登录之类的)
4.其他网站可以和度娘一样,进行绑定的二次验证(只测试了discuz社区,其他网站,就截个图)

5555555555.png


tttttttttt.png

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


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2015-07-17 20:15

厂商回复:

非常感谢您的报告,经评估该问题并不存在,故此忽略。如果您有任何的疑问,欢迎反馈,我们会有专人跟进处理。

最新状态:

暂无