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

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

缺陷编号:wooyun-2014-070454

漏洞标题:聊着聊着我就上了你……的微信(两处都可以劫持微信登录的漏洞)

相关厂商:腾讯

漏洞作者: 呆子不开口

提交时间:2014-07-31 14:12

修复时间:2014-09-22 17:00

公开时间:2014-09-22 17:00

漏洞类型:未授权访问/权限绕过

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-07-31: 该漏洞正等待厂商内部评估
2014-08-01: 厂商已经确认,与白帽子共同解决该漏洞中,漏洞信息仅向厂商公开
2014-08-21: 细节向核心白帽子及相关领域专家公开
2014-08-31: 细节向普通白帽子公开
2014-09-10: 细节向实习白帽子公开
2014-09-22: 细节向公众公开

简要描述:

聊着聊着我就上了你……的微信(两处都可以劫持微信登录的漏洞)

详细说明:

一、mac版客户端登录的劫持
mac版客户端的扫码登录确认页的请求为如下(有些以星号代替了)
http://szsupport.weixin.qq.com/cgi-bin/mmsupport-bin/qrcodelogin?username=*********&key=*************&clientversion=25030133&devicetype=android-18&lan=zh_CN&uuid=AXBIICc4sUSDsFnefkNP&pass_ticket=DebNjGnP2dJnq1bMvHvgL%2BezqqE70Ry9iWB625%2FRT8RRnwCD3tlq3qxuxG5YPzhx
经过测试可发现,此请求无需用户扫码动作确认,也没有签名保护,其中username和uuid分别是用户的微信号和二维码字符,很容易得到。key无法被攻击者猜出,但是也可以通过别的方式得到,比如如下方式
微信的公共账号发的文章url为这种:http://mp.weixin.qq.com/s?__biz=**********==&mid=10000001&idx=1&sn=bdc73ae816f2e7097c225b6070b1f2f2&from=singlemessage&isappinstalled=0#rd
在微信中打开这种链接,最终的目标页会被微信浏览器加上key和pass_ticket参数,这样只要我们能在这篇文章中插入个自定义url的图片即可通过referer偷到这个key。公众账号发表的文章不可以直接写自定义的IMG,但通过修改http请求里的参数就可以把图片地址换成我们自己服务器上的url了
这样只要发送给受害者点击,或者欺骗他扫描此链接的二维码,然后就可以得到key,然后拼接那个扫码登录确认页请求,点击确认登录,我们的客户端就可以自动登录了
二、网页版微信登录的劫持
网页版客户端的扫码登录确认页的请求为如下(有些以星号代替了)
http://login.weixin.qq.com/confirm?uuid=e921eed1fbf84e&key=*****************&lang=zh_CN&scan=1406467880&clientversion=25030133&devicetype=android-18
经过测试可发现,此请求也没有签名保护,但需用户扫码动作确认,其中uuid分别是二维码字符,很容易得到。key的话也可以通过如上方式获得。所以我们需要做的就是再让用户扫下码。
网页版二维码链接原文是这种https://login.weixin.qq.com/l/e921eed1fbf84e,经测试发现,可以直接把这个链接发送给用户访问,也可以达到用户扫描的效果
这样只要给受害者发送两个链接诱惑他点击,或者让他点击一个页面然后诱惑他去扫描内容中的二维码,就可以得到key,并让我们的请求合法。然后再拼接那个扫码登录确认页请求,点击确认登录,我们的网页版就可以自动登录了

漏洞证明:

首先在公众账号的内容中加入自定义图片

QQ20140731-1副本.png


mac客户端劫持:
先发送欺骗她点击

IMG_0962.PNG


然后我会收到

QQ20140731-7@2x.png


然后在浏览器点击确认登录

QQ20140731-6@2x.png


最后登录成功

QQ20140731-5@2x.png


网页版微信劫持:
先聊

1.pic.jpg


然后收到key

QQ20140731-3.png


QQ20140731-2.png


QQ20140731-1.png


修复方案:

如果没有需求,尽量公共账号发的消息文章中不允许有自定义src的图片
保护好get参数key不被referer等泄露,如果可以尽量用post
mac版的扫码登录需要做成和网页版一样,需要用户扫码确认才可以
对登录确认页的参数进行签名校验
等等……

版权声明:转载请注明来源 呆子不开口@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-08-01 17:31

厂商回复:

非常感谢您的报告,问题已着手处理,感谢大家对腾讯业务安全的关注。如果您有任何疑问,欢迎反馈,我们会有专人跟进处理。

最新状态:

暂无