当前位置: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

厂商回复:

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

最新状态:

暂无


漏洞评价:

评论

  1. 2015-07-17 22:51 | Hax0rs ( 路人 | Rank:9 漏洞数:4 | Hax0rs)

    ...这

  2. 2015-07-18 11:38 | q601333824 ( 普通白帽子 | Rank:217 漏洞数:49 | 出自《丹特丽安的书架》---吾问汝,汝为人否...)

    看来以后需要弄个证明小视频=_=

  3. 2015-07-18 18:12 | tzrj ( 实习白帽子 | Rank:87 漏洞数:24 | 1111)

    @q601333824 这个并没有问题 不同的ip就不行了

  4. 2015-07-18 18:36 | q601333824 ( 普通白帽子 | Rank:217 漏洞数:49 | 出自《丹特丽安的书架》---吾问汝,汝为人否...)

    @tzrj 测试过了,帮我测试的人在台州,我自己当时在杭州那么远不是ip的问题

  5. 2015-07-18 20:34 | hack2012 ( 实习白帽子 | Rank:31 漏洞数:3 | 关注信息安全 http://www.waitalone.cn/)

    测试的不错,感觉还是有点用的。

  6. 2015-07-19 21:42 | q601333824 ( 普通白帽子 | Rank:217 漏洞数:49 | 出自《丹特丽安的书架》---吾问汝,汝为人否...)

    @hack2012 只是举了其中一个网站的例子,别的网站也有这情况,现在厂商说,问题不存在,换句话就是说,我随便弄几个假图骗rank???

  7. 2015-07-19 21:49 | q601333824 ( 普通白帽子 | Rank:217 漏洞数:49 | 出自《丹特丽安的书架》---吾问汝,汝为人否...)

    @hack2012 我发现这两年,我骗到199rank也挺不容易的

  8. 2015-07-30 09:26 | 鬼见愁 ( 路人 | Rank:10 漏洞数:1 | 挖洞之神)

    这是什么漏洞啊

  9. 2015-07-30 10:36 | q601333824 ( 普通白帽子 | Rank:217 漏洞数:49 | 出自《丹特丽安的书架》---吾问汝,汝为人否...)

    @鬼见愁 别人第一次访问第一个连接,他的电脑登陆上我的qq账号,其他网站不是有qq绑定然后快速登陆,然后再访问绑定连接,他的网站账号绑定上我的qq号了,我可以利用我的qq快速登陆他的账号了。这个连接不会受ip影响,但是有时间影响,远距离测试没问题

  10. 2015-09-17 17:31 | 小安 ( 路人 | Rank:2 漏洞数:1 | 向大家学习)

    其实还是有用的,这么费劲厂商说无影响换我得气死。

  11. 2015-09-17 17:50 | 香草 ( 实习白帽子 | Rank:99 漏洞数:14 | javascript,xss,jsp、aspx)

    文章太长,厂商懒得看了……洞主思路还是很猥琐的

  12. 2015-09-18 12:41 | q601333824 ( 普通白帽子 | Rank:217 漏洞数:49 | 出自《丹特丽安的书架》---吾问汝,汝为人否...)

    @香草 这是证明过程,为了证明自己找的,如果不写的仔细,然后如果厂商修复忽略,来个死无对证怎么办

  13. 2015-09-18 12:44 | q601333824 ( 普通白帽子 | Rank:217 漏洞数:49 | 出自《丹特丽安的书架》---吾问汝,汝为人否...)

    @q601333824 如果少写一个细节,说不定那个细节就成为忽略的借口,因为你没写,怎么证明那个细节因素没影响

  14. 2015-09-18 17:09 | 香草 ( 实习白帽子 | Rank:99 漏洞数:14 | javascript,xss,jsp、aspx)

    @q601333824 我的意思是,你应该用简介的一句话概括一下这个漏洞先