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

编号70454
Urlhttp://www.wooyun.org/bug.php?action=view&id=70454
漏洞状态厂商已经确认
漏洞标题聊着聊着我就上了你……的微信(两处都可以劫持微信登录的漏洞)
漏洞类型未授权访问/权限绕过
厂商腾讯
白帽子呆子不开口
提交日期2014-07-31 14:12:00
公开日期2014-09-22 17:00:00
修复时间(not set)
确认时间2014-08-01 00:00:00
Confirm Spend1
漏洞标签敏感接口缺乏认证 未授权访问 用户敏感信息泄露 认证设计不合理
关注数0
收藏数0
白帽评级
白帽自评rank20
厂商评级
厂商评rank20
漏洞简介
聊着聊着我就上了你……的微信(两处都可以劫持微信登录的漏洞)
漏洞细节一、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,并让我们的请求合法。然后再拼接那个扫码登录确认页请求,点击确认登录,我们的网页版就可以自动登录了
POC首先在公众账号的内容中加入自定义图片
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版的扫码登录需要做成和网页版一样,需要用户扫码确认才可以
对登录确认页的参数进行签名校验
等等……
状态信息 2014-07-31: 该漏洞正等待厂商内部评估
2014-08-01: 厂商已经确认,与白帽子共同解决该漏洞中,漏洞信息仅向厂商公开
2014-08-21: 细节向核心白帽子及相关领域专家公开
2014-08-31: 细节向普通白帽子公开
2014-09-10: 细节向实习白帽子公开
2014-09-22: 细节向公众公开
厂商回复非常感谢您的报告,问题已着手处理,感谢大家对腾讯业务安全的关注。如果您有任何疑问,欢迎反馈,我们会有专人跟进处理。
回应信息危害等级:高漏洞Rank:20 确认时间:2014-08-01 17:31
Showing 1-26 of 26 items.
评论内容评论人点赞数评论时间

厉害,厉害,洞主真仔细

無名老人02015-04-24 17:47:00

蒋方舟。。。。

鸡鸡02015-04-24 16:06:00

NB!

秋风02015-03-02 18:55:00

舟舟哭了……

hkAssassin02014-09-24 13:22:00

可以试一下易信的

s0mun502014-09-23 20:11:00

CCAV的记者同志 往下拍 往下拍

erevus02014-09-23 18:16:00

这个洞就一个字:爽

hqdvista02014-09-23 17:42:00

牛逼。

winsyk02014-09-23 15:18:00

兄弟 有果照吗 发出来阿

卡农的保镖02014-09-23 14:41:00

番茄师傅02014-09-23 12:08:00

@呆子不开口 尼玛

xsser02014-09-23 11:31:00

@xsser 我只是个影视剧爱好者,为了你我一直在追《古剑奇谭》

呆子不开口02014-09-23 11:22:00

膜拜膜拜..洞主也是个段子手..

Seven.Sea02014-09-23 10:51:00

@redrain有节操 黄段子手

xsser02014-09-23 10:44:00

牛逼啊!

wefgod02014-09-23 09:33:00

@呆子不开口 听说洞主是个段子手~果断看起洞主微薄学段子

redrain有节操02014-09-22 19:55:00

挖这个洞首要有一台Mac

咖啡02014-09-22 19:41:00

膜拜了!!!

大白菜02014-09-22 18:28:00

霸气~ 要火

tracyfan02014-09-22 18:19:00

你竟敢欺负我们舟舟,她可是我最喜欢的作家

继续沉默02014-09-22 18:11:00

膜拜啊!

养乐多Ngan02014-09-22 17:53:00

@呆子不开口 厂商确认中

疯狗02014-07-31 17:02:00

贵司人好多,再凑一个打麻将吧

呆子不开口02014-07-31 16:32:00

必杀技!

浩天02014-07-31 16:21:00

@Finger 管理员

xsser02014-07-31 16:10:00

大杀器!

Finger02014-07-31 16:08:00