漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0107901
漏洞标题:骑士CMS多漏洞组合前台GETSHELL(官网demo测试)
相关厂商:74c,s.com
漏洞作者: 龟兔赛跑
提交时间:2015-04-15 11:13
修复时间:2015-07-18 16:58
公开时间:2015-07-18 16:58
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-04-15: 细节已通知厂商并且等待厂商处理中
2015-04-19: 厂商已经确认,细节仅向厂商公开
2015-04-22: 细节向第三方安全合作伙伴开放
2015-06-13: 细节向核心白帽子及相关领域专家公开
2015-06-23: 细节向普通白帽子公开
2015-07-03: 细节向实习白帽子公开
2015-07-18: 细节向公众公开
简要描述:
骑士CMS多漏洞组合前台GETSHELL(官网demo测试)
http://demo.74cms.com/
详细说明:
通过SQL注入加上select * from table into outfile "filename"来完成SHELL的写入。
必要条件:
1. SQL注入。
2. Server的文件保存路径。
3. 具有写权限的目录。
4. 还有一个是74cms会过滤‘“字符,我们需要有方法能注入’”来完成写入SHELL的SQL语句。
以下逐条详细说明。
0x01: SQL注入
======================================
我们有现成的,74cms一直忽略不修正的这个: WooYun: 74cms(20141020)全局SQL注入过滤绕过 (74cms全局SQL注入过滤绕过)。我们使用这个URL:
0x02: Server的文件保存路径。
======================================
这个URL暴露了server的文件路径:
3. 具有写权限的目录。
======================================
WooYun: 骑士CMS(20141027)多个漏洞组合可致所有数据泄露+getshell 曾经提到过,'data/'目录下很多上传文件的目录创建是0777权限建立的。
注册一个公司用户,长传logo,这是会建立0777权限的目录:'data/logo/2015/04/14',shell就传到这个目录吧。
4. 能带入‘“字符。
======================================
其实这个也很简单,’我们没办法注入。但是74cms提供了带入”的方法。
文件:include/common.fun.php
new_html_special_chars()函数做了这个事情:
$string = str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string);
也就是在POST或者GET的参数中存在",都会被替换成"。
万事具备只欠东风。。。风儿那个吹阿吹。。。
因为我们使用的是http://demo.74cms.com/plus/ajax_user.php?act=check_usname,这个是查询的用户表,因此我们还需要注册一个用户来带入shell脚本。
注册用户:
提交注册的时候使用burp拦截一下,我们改一下数据包:
将payload的email字段改为:
WooYun: 骑士CMS全局XSS过滤绕过存储型XSS前台后台指哪打哪 介绍过<%0b...%0b>会被过滤为<...>
提交注册成功之后我们在浏览器里面看看uid:
注入生成SHELL:
%0b会在全剧过滤的时候删除,所以我们利用这个特性绕过安全狗。执行后生成文件D:\web\demo\data\logo\2015\04\14\test.php
浏览器浏览:
http://demo.74cms.com/data/logo/2015/04/14/test.php
漏洞证明:
http://demo.74cms.com/data/logo/2015/04/14/test.php
修复方案:
1. utf8_to_gbk转换过的数据去要再次addslashs。
2. 修复http://demo.74cms.com/data/filetpl.php暴露路径的问题
版权声明:转载请注明来源 龟兔赛跑@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2015-04-19 16:56
厂商回复:
最新状态:
暂无