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

缺陷编号: WooYun-2012-16003

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

相关厂商: 腾讯

漏洞作者: 心伤的瘦子

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

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

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

危害等级: 低

自评Rank: 1

漏洞状态: 厂商已经确认

Tags标签: 反射型xss xss利用技巧

8人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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 会在页面的哪些输出点出现呢?



picture\2_14110520b5c177419b984f01d7a41196f31cd4d4.jpg





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



picture\5_141108063a03406df7d7c0ec3ae0c66f3f270ae1.jpg





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



picture\8_141110460d918be01544dd1f1be7d3b21a495b2c.jpg





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



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





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



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





这样alert(1); 就会被成功执行。



5. 恩,带着这样一个想法,我们不难构造出以下利用。



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





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



picture\11_14111442c5935ea172278963dec6e68cfad21303.jpg





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

漏洞证明:

picture\14_14111622bbf52e45b3489b702e58759286125e22.jpg

修复方案:

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

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:5

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

厂商回复:

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

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):
登陆后才能进行评分

评论

  1. 2012-12-14 11:23 | 风萧萧 (核心白帽子 | Rank:872 漏洞数:65 | 我是一条小青龙,我有许多小秘密)
    0

    慢点来撒

  2. 2012-12-14 11:24 | xsser (核心白帽子 | Rank:249 漏洞数:17 | Live free or Die!)
    0

    @风萧萧 这个月的头牌 一个爱疯估计能得到了

  3. 2012-12-14 11:31 | 风萧萧 (核心白帽子 | Rank:872 漏洞数:65 | 我是一条小青龙,我有许多小秘密)
    0

    @xsser 靠,还以为是奥迪!

  4. 2012-12-14 11:31 | 疯狗 ( 普通白帽子 | Rank:44 漏洞数:2 | xxxxx)
    0

    @风萧萧 迪奥

  5. 2012-12-14 11:35 | Jannock (核心白帽子 | Rank:1261 漏洞数:112 | 关注技术与网络安全)
    0

    迪奥

  6. 2012-12-14 11:41 | 鬼魅羊羔 ( 普通白帽子 | Rank:164 漏洞数:25 | 不许动!我是警察!)
    0

    各种复仇啊。。。屌丝的逆袭。。。

  7. 2012-12-14 12:20 | 逝情 ( 实习白帽子 | Rank:6 漏洞数:1 | 自己选择的路,就算跪着也要走完~!)
    0

    目测会火~

  8. 2012-12-14 12:30 | D&G ( 实习白帽子 | Rank:28 漏洞数:6 | linux 爱好者。低调球发展)
    0

    来晚了~

  9. 2012-12-14 12:49 | 乌帽子 ( 实习白帽子 | Rank:28 漏洞数:2 | 终于进来了~~ 基友们新年快乐)
    0

    又出系列了

  10. 2012-12-14 13:29 | 心伤的瘦子 ( 普通白帽子 | Rank:147 漏洞数:21 | 嘿,我崇拜你们来了)
    0

    @鬼魅羊羔 是啊,可惜没女神可逆。

  11. 2012-12-14 13:45 | 纷纭 ( 实习白帽子 | Rank:8 漏洞数:3 | 学习者。)
    0

    @风萧萧 碰到某个站过滤script这个字符都改成<d>script</d> 这样的,求助大神有什么办法?

  12. 2012-12-14 14:00 | 纷纭 ( 实习白帽子 | Rank:8 漏洞数:3 | 学习者。)
    0

    @心伤的瘦子 碰到某个站过滤script这个字符都改成<d>script</d> 这样的,求助大神有什么办法?

  13. 2013-01-16 22:07 | HackPanda ( 实习白帽子 | Rank:5 漏洞数:2 )
    0

    这个思路好NB- -膜拜了

  14. 2013-01-19 15:07 | 蓝风 ( 普通白帽子 | Rank:123 漏洞数:23 | ‮#知我者謂我心憂 不知我者謂我何求#)
    0

    不科学啊,被注释了,变量怎么还有值

  15. 2013-01-27 16:06 | theduyao ( 实习白帽子 | Rank:12 漏洞数:2 | I'm here!)
    0

    @蓝风 不科学啊,被注释了,变量怎么还有值 //什么情况啊

  16. 2013-01-27 22:13 | Kaier ( 实习白帽子 | Rank:11 漏洞数:1 )
    0

    又一次被复仇。。。

  17. 2013-02-17 14:13 | saber ( 实习白帽子 | Rank:8 漏洞数:1 | My love,my hope,all goes by~)
    0

    @蓝风 。。难道是忘了抹掉?

  18. 2013-03-14 17:32 | Black World ( 实习白帽子 | Rank:0 漏洞数:1 | 无孔不入)
    0

    @蓝风 同理,求解释