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

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

缺陷编号:wooyun-2014-063409

漏洞标题:Cmseasy最新版存在存储型XSS及代码分析(2)

相关厂商:cmseasy

漏洞作者: zj1244

提交时间:2014-06-04 21:21

修复时间:2014-09-02 21:22

公开时间:2014-09-02 21:22

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

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-06-04: 细节已通知厂商并且等待厂商处理中
2014-06-05: 厂商已经确认,细节仅向厂商公开
2014-06-08: 细节向第三方安全合作伙伴开放
2014-07-30: 细节向核心白帽子及相关领域专家公开
2014-08-09: 细节向普通白帽子公开
2014-08-19: 细节向实习白帽子公开
2014-09-02: 细节向公众公开

简要描述:

cmseasy某处存在存储型xss
影响版本:CmsEasy_5.x(包括最新版CmsEasy_5.5_UTF-8_20140420)

详细说明:

影响版本:CmsEasy_5.x(包括最新版CmsEasy_5.5_UTF-8_20140420)
存在漏洞的文件:bbs_public.php
用户量级:250,000

cmseasy.jpg


BBS下所有POST提交,都会经过bbs_public.php文件里的remove_xss函数过滤,此函数在bbs_public.php文件的35行,存在问题的代码如下:

function remove_xss($val){
$val = preg_replace('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/', '', $val);
$search = 'abcdefghijklmnopqrstuvwxyz';
$search .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$search .= '1234567890!@#$%^&*()';
$search .= '~`";:?+/={}[]-_|\'\\';
for ($i = 0; $i < strlen($search); $i++) {
$val = preg_replace('/(&#[xX]0{0,8}'.dechex(ord($search[$i])).';?)/i', $search[$i], $val); //可以看到,这里对于html实体解码包含了;,可是浏览器对于没有;的html实体也可以解码
$val = preg_replace('/(&#0{0,8}'.ord($search[$i]).';?)/', $search[$i], $val);
}
$val = html_entity_decode($val);
if(preg_match('/&#(\d+);/', $val)){
exit('error'); //这里的判断也包括了;,所以我们可以去掉;来绕过
}
if(preg_match('/&#[xX](\d+);/', $val)){
exit('error');
}


POC如下:
在bbs的内容处填入:

<a href="java&#11&#53cript:alert(document.cookie)">点这里!!!</a>


此POC可在CmsEasy_5.5_UTF-8_2014xxxx版本上利用,如下图:

cms2.jpg


本来到此应该结束了,但是在网上找实例的时候,发现这个poc在2013之前的版本不行,所以如果是2013之前的版本,用如下POC:

<a href="java&#115cript:alert(document.cookie)">点这里!!!</a>


第一个实例:
5.5 2013版本的
http://www.cosiqqi.com/bbs/archive-display.php?aid=3

cms3.jpg

cms4.jpg


第二个实例:
5.5 20121112版本的
http://www.cdsyzn.com/bbs/archive-display.php?aid=4

cms5.jpg


第三个实例:
5.5 20130605版本的
www.e-metersbonwe.com/bbs/archive-display.php?aid=1

cms6.jpg


第四个实例:
5.5 20140118版本
http://www.lings24.com/bbs/archive-display.php?aid=1

cms7.jpg


第五个实例:
最新版5.5_UTF-8_20140420版本
http://www.hocoson.cn/bbs/archive-display.php?aid=1

cms8.jpg

漏洞证明:

5.5_UTF-8_20140420版本
http://www.hocoson.cn/bbs/archive-display.php?aid=1

cms8.jpg

修复方案:

;的判断去掉

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-06-05 11:10

厂商回复:

感谢

最新状态:

暂无


漏洞评价:

评论