中午的时候,有一朋友发消息过来,说是在朋友圈点击我名字,会跳出一个名为“诺基亚生活”的奇怪网页,而点击其他人正常,只有我这样……
本人表示相当郁闷,于是使用两部手机(不同的微信号码)实机测试了一下,发现情况如下。
当有用户(无论是本人还是别人)在朋友圈(如上图所示)分别点击本人名字的时候,会弹出以下页面(如下图所示):
点“赞”后边的名字正常
点评论内容前边名字弹出网页
很明显,这个是微信自带的浏览器,提示找不到网页,而仔细看看网址后,一切都明白了。
图中的网址:http://Mr.***/,其实是我微信名字:Mr.***,而不知道为何,微信会把用户名字识别成 Url 打开,造成这个奇葩漏洞。
知道原理后,就简单多了,经过些许测试,发现只要构造以下格式的名字:
Mr.He
*.*
*.*.*
即可触发浏览器打开网页。
于是,本人构造了一个名字:lcx.cc,如下图所示。
然后进入朋友圈,点击自己评论前边的名字,果不其然:
目前尚不清楚该漏洞成因如何,当前的利用方式也仅仅是打开一个指定网站,并且网址有长度限制(微信名字16字节) 。
当然,如果你有腾讯网站 XSS 的话,可以试试 XSS 朋友圈所有人,拿到别人 Cookie (不知是否通用),哦呵呵呵呵~~~
当然,你还可以进行钓鱼,你懂的……
而上边说的,朋友打开的奇怪网页,也可以很简单的解释了,如果你手机的网络运营商存在DNS劫持的话,当你访问“http://Mr.***/”的时候(该域名不存在),会被“劫持”到网络运营商的广告页面(例如电信的114导航之类的),然后,然后就没有了……
漏洞已提交给腾讯,等待修复中。
稍后核总将再此更新漏洞修复状态……
漏洞修复状态:
2013-07-19 17:26:这个问题我们已经确认,正在与业务部门进行沟通制定解决方案。
2013-7-19 15:59:55 补充:
网友“Finger”补充:测试只有 Android (安卓)版可以,ios 的不可以。
2013-7-20 22:51:03 补充:
经过某匿名网友的提示,搞清楚漏洞原理了,其实很简单:
ID:4534 昵称:佚名 时间:2013-07-20 21:14:55
留言内容:
你发一条状态“www.baidu.com”,试试看
站长回复:
纳尼?哈哈哈,搞清楚原因了,原来是微信在匹配朋友圈内容中网址的时候,没有过滤用户昵称,连用户昵称一起匹配了,造成该狗血漏洞……
其实原理很简单,微信在匹配内容中网址的时候,处理逻辑不严密,连用户昵称一起匹配了,导致这个奇葩漏洞……
留言评论(旧系统):