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

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

缺陷编号:wooyun-2013-017271

漏洞标题:我是如何刷新浪微博粉丝的

相关厂商:新浪微博

漏洞作者: 风萧萧

提交时间:2013-01-13 23:07

修复时间:2013-02-27 23:08

公开时间:2013-02-27 23:08

漏洞类型:CSRF

危害等级:高

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

1.小范围测试;
2.该站点对CSRF不设防,加关注、留言等直接为GET方式,可导致CSRF蠕虫;
3.分享一个各大互联网厂商防范CSRF的通病,我是如何秒杀的。

详细说明:

1.首先声明下哈:我只是简单测试给自己刷了一些粉丝,没有继续了;确实可以搞CSRF蠕虫的,我木搞啊!我是好娃子!
2.开始吧,出问题的站点是:

tw.weibo.com

这个站点对CSRF不设防,加关注、取消关注、发微博、留言不设置任何防范。我下面举两个例子:
3.加关注的接口是:

http://tw.weibo.com/api/addfriendship/?uid=

一个GET请求,uid参数是所要关注的对象uid,乌云的uid为:1981622273,那么微博用户以任何方式访问了下面的链接即可关注乌云微博:

http://tw.weibo.com/api/addfriendship/?uid=1981622273


4.利用方式一:配合社会工程诱使微博用户点击上述链接,当然得有一个平台让微博用户去点击,你可以通过QQ等聊天软件发送上述链接诱使用户点击,但是不觉得小题大做了么,而且很费事!其实微博本身就是这么一个平台,我直接将链接插入:

.jpg


点击【发布】,当然你可以配上其他的文艺型文字效果更好!生成短连接如下:

.jpg


当一个没有关注乌云微博的用户点击之后,如下效果,成功加乌云关注:

.jpg


5.利用方式二:方式一需要用户点击,现在的网友都不再是傻子了,成功率可能较低。如果有方式直接加载就好,受害者看了我的微博就关注了乌云多好啊!还记得@imlonghao引发的基于401基础认证钓鱼的恐慌么?直接通过<IMG>元素加载吧!但是微博本身是不能直接插入网络连接,一般都需要上传图片到新浪服务器。在那个夜黑风高的晚上,我以三把war3为代价,让我的一个好基友@th000找到了微博一个可以插入网络连接的子域:

http://game.weibo.com


.jpg


看下图,虽然本地客户端有验证请求网络连接的是否为图片,但是对于白帽子而言这确实是小case,好吧,粉丝都是通过这里刷的:

.jpg

漏洞证明:

6.好的,刷粉丝的问题说完了!下面是可能引发蠕虫的地方,发微博(我没有测试哈哈),我看了留言的地方,没有防范CSRF,恐怖的是居然也是个GET请求方式!请看下面请求:

http://tw.weibo.com/api/addcomment/?mid=3534023949539660&comment=so+nice&_=1358063650295


通过上面的两种利用方式,一经访问,立即生效!

.jpg


当然,如果你勾选了【同时转发到微博】,那么weibo.com的首页也会遭受蠕虫的重创了!

.jpg


7.我分享的这个各大互联网厂商防范CSRF通病,上面其实已经说的很清楚了,不知道各位看官是否注意到。就是利用微博这个平台,对于GET方式请求,只验证referer不加token的CSRF的防范是无效的!比如上面刷粉丝的链接防范了CSRF,验证了referer,通过利用方式一或二把它放在weibo.com域下面,受害者点了,请求的referer是不是仍然为weibo.com呢?

修复方案:

希望厂商的回复不是:
多谢提供,此问题已经内部发现并通知了相关负责人进行修复。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2013-01-14 09:37

厂商回复:

多谢提供,已经安排相关人员进行修复。

最新状态:

暂无