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

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

缺陷编号:wooyun-2016-0170508

漏洞标题:腾讯某站点扫码钓鱼

相关厂商:腾讯

漏洞作者: payne

提交时间:2016-01-18 15:49

修复时间:2016-02-27 11:49

公开时间:2016-02-27 11:49

漏洞类型:URL跳转

危害等级:低

自评Rank:5

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2016-01-18: 细节已通知厂商并且等待厂商处理中
2016-01-18: 厂商已经确认,细节仅向厂商公开
2016-01-28: 细节向核心白帽子及相关领域专家公开
2016-02-07: 细节向普通白帽子公开
2016-02-17: 细节向实习白帽子公开
2016-02-27: 细节向公众公开

简要描述:

嘿嘿嘿 这个鱼要在PC端才可以钓,安卓手Q有效。自带友情引导功能,超级像真的

详细说明:

问题发生页面:http://vac.qq.com/common/pc/pc.html
这个页面是腾讯搞手机活动,用户从PC端进入跳转的页面。
但是, http://imgcache.gtimg.cn/channel/common/pc/js/index-1.js 里面有问题!!!
分析了代码,我们可以知道关键的acturl参数直接传入Page.acturl中,然后画二维码。但是在画二维码之前,需要用Page中判定URL是否在白名单中的方法whiteListUrl。问题就是发生在whiteListUrl中。它有的只是简单的匹配 /^URL/.test()。
下面是白名单列表1(我们案例页面的):

var white_list = ["http://vac.qq.com/", "http://imgcache.qq.com/", "http://qqwallet.qq.com/", "http://qqwifi.qq.com/", "http://hall.qq.com/", "http://youxi.vip.qq.com/", "http://banfei.zhongan.com"];


这个是白名单列表2(全局的,window.AMD_WhiteList):

["http://vac.qq.com", "http://imgcache.qq.com", "http://qqwallet.qq.com", "http://qqwifi.qq.com", "http://hall.qq.com", "http://youxi.vip.qq.com", "http://banfei.zhongan.com", "http://jd.com", "http://weixin.weipiao.com", "http://pay.qq.com", "http://weixin.wepiao.com", "http://gongyi.qq.com/", "http://dd252.hecoe.com", "http://gsactivity.diditaxi.com.cn", "http://promotion.wepiao.com"]


观察白名单我们可以看出,有些“前缀”的URL是以'/'结尾的,但是有些没有。我们可以利用“http://username:password@domain”的URL完美绕开这个过滤机制。
好比说:http://banfei.zhongan.com:@wooyun.org/

/^http:\/\/banfei.zhongan.com/.test("http://banfei.zhongan.com:@wooyun.org/") == true


完美通过过滤~~
再搭配title参数可以随便你设置8个字以内的标题,这个鱼真的可以钓。
不过缺点是如果acturl中的域名不是可信站点的,在PC版QQ会提示这个是跳转网站。不过,前戏做得好,谁管它呢。手Q里面发这个URL是没提示的,而且即便我们可以看到一部分的URL,但钓鱼的部分参数都在省略号之后,所以这在手Q里面的钓鱼能力更强!

漏洞证明:

http://vac.qq.com/common/pc/pc.html?title=%E4%B9%8C%E4%BA%91%E6%9D%A5%E5%95%A6&acturl=http%3a%2f%2fbanfei.zhongan.com%3a%40wooyun.org%2f
进入页面,要求用户扫码

扫码页面


扫码之后进入钓鱼的网站(测试使用乌云)

扫码之后的效果


其实那个码,用谁扫都是钓鱼。只是那个页面上面你们强调要用手Q扫,所以钓鱼的人可以假戏真做咯。

修复方案:

一是把所有白名单中的URL都末尾加上 '/'。
二是过滤全部的'@',这个大家都懂的。
三是改造白名单判定的正则表达式,完善获取域名的正则咯。

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2016-01-18 16:03

厂商回复:

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

最新状态:

暂无