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

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

缺陷编号:wooyun-2012-016003

漏洞标题:[腾讯实例教程] 那些年我们一起学XSS - 6. 换行符复仇记

相关厂商:腾讯

漏洞作者: 心伤的瘦子

提交时间:2012-12-14 11:19

修复时间:2013-01-28 11:20

公开时间:2013-01-28 11:20

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

危害等级:低

自评Rank:1

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

还是在<script>之间的场景,某些情况下,我们仅仅需要的只是一个换行符,就可以绕过过滤了。 它让双引号,尖括号知道了“它们不是一个符号在战斗”。

详细说明:

1.实际场景是下面这个例子。

http://datalib.games.qq.com/cgi-bin/search?libid=178&FilterAttrAND=3602&FilterValueAND=aaaaaaaaaa


对应的,我们可以看到我们的输入aaaaaaaaa 会在页面的哪些输出点出现呢?

22.jpg


2. 不错,一共有5处,有在HTML标签之间的(教程1),也有在<script>..</script>之间的。但是呢,该过滤的,< , > 过滤掉了, 该过滤的 " ,也过滤掉了。。

23.jpg


3. 也就是说传统的已经不行啦,我们继续看5处的其他地方。呀,竟然还有一大段注释里,也出现了我们的【输出】

24.jpg


4. 嗯,这样一来,是否会想到这样一个用法呢?

//我是注释,我爱洗澡,哦~哦~哦~ [我是输出]


如果可以使用换行符的话。

//我是注释,我爱洗澡,哦~哦~哦~ [我是输出  换行符
alert(1);//我是输出]


这样alert(1); 就会被成功执行。
5. 恩,带着这样一个想法,我们不难构造出以下利用。

http://datalib.games.qq.com/cgi-bin/search?libid=178&FilterAttrAND=3602&FilterValueAND=%0aalert(1);//


看下输出。嘿,果然没过滤。

25.jpg


6. 这样,这一次我们的换行符立功了, 它不是一个符号在战斗!

漏洞证明:

26.jpg

修复方案:

尽量不要在JS的注释里输出内容。还挺危险的。

版权声明:转载请注明来源 心伤的瘦子@乌云


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:5

确认时间:2012-12-17 15:02

厂商回复:

非常感谢您的报告。这个问题我们已经确认,正在与业务部门进行沟通制定解决方案。如有任何新的进展我们将会及时同步。

最新状态:

暂无