漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2013-020304
漏洞标题:丁香园全部子站某处反射型xss(附分析过程)
相关厂商:丁香园
漏洞作者: 梧桐雨
提交时间:2013-03-19 15:01
修复时间:2013-05-03 15:02
公开时间:2013-05-03 15:02
漏洞类型:xss跨站脚本攻击
危害等级:中
自评Rank:10
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2013-03-19: 细节已通知厂商并且等待厂商处理中
2013-03-19: 厂商已经确认,细节仅向厂商公开
2013-03-29: 细节向核心白帽子及相关领域专家公开
2013-04-08: 细节向普通白帽子公开
2013-04-18: 细节向实习白帽子公开
2013-05-03: 细节向公众公开
简要描述:
第一次发的时候又没过。。是分析的不彻底么?今天附上分析过程和结果,希望通过吧~
详细说明:
再发一次- -不给过俺就直接报给大辉了,虽然这个反射的xss影响很局限,但是我绝得发出来还是具有学习的参考价值的。
丁香园的搜索框是比较奇怪的,我遇到这么多搜索框,都是有对<>或者"等特殊字符进行过滤了。唯独有几个子站(很多啊,几乎影响全部)是没过滤的。
受影响的站点有:
都存在xss,可能我还没总结完,丁香园的同学还需要自查一下。
在搜索框输入<script>alert(1)</script>进行测试的时候。
发现过滤成了:<script><![CDATA[alert(1)]]></script>
当时摸索着,很难有突破,也不知道他的过滤方法是什么。直到后来,请教了某大牛,结合自己的总结,总算把代码给执行出来了。
需要配合onmouseover事件执行,比较鸡肋,但是受影响的子站众多,所以我给自评10rank
结合上文,我们知道,凡是没过滤特殊字符的过滤都是不完整的。因而,丁香园的程序员同样犯了这样的错误。因此,我们只需要构造我们只需要构造
就能绕过限制。
其中,>是闭合,当然,这里的尖括号是没过滤的。不然就没办法执行<script>里的东西了。我们知道,在js中,</script>是具有最高优先级别的,是可以在任何时候都中断js代码,我不知道
里头的逻辑,我把他中断还不行么?最后,注释掉错误,配合alert,小窗口就出来了
漏洞证明:
修复方案:
还是得好好过滤啊,不能走旁门左道:)
过滤方法:参考你们前面的几个搜索框的过滤吧。其他的问题暂时没发现。
版权声明:转载请注明来源 梧桐雨@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:8
确认时间:2013-03-19 15:08
厂商回复:
感谢挖洞,火速修复中...
最新状态:
2013-03-19:已经修复. 感谢 @梧桐雨 大侠.