漏洞概要 关注数(55) 关注此漏洞
缺陷编号: WooYun-2015-107901
漏洞标题: 骑士CMS多漏洞组合前台GETSHELL(官网demo测试)
相关厂商: 74cms.com
漏洞作者: 龟兔赛跑
提交时间: 2015-04-15 11:13
公开时间: 2015-07-18 16:58
漏洞类型: SQL注射漏洞
危害等级: 高
自评Rank: 20
漏洞状态: 厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org
Tags标签: sql注射漏洞利用技巧
漏洞详情
披露状态:
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一直忽略不修正的这个:http://**.**.**.**/bugs/wooyun-2014-080490(74cms全局SQL注入过滤绕过)。我们使用这个URL:
0x02: Server的文件保存路径。
======================================
这个URL暴露了server的文件路径:
3. 具有写权限的目录。
======================================
http://**.**.**.**/bugs/wooyun-2014-081223曾经提到过,'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://**.**.**.**/plus/ajax_user.php?act=check_usname,这个是查询的用户表,因此我们还需要注册一个用户来带入shell脚本。
注册用户:
提交注册的时候使用burp拦截一下,我们改一下数据包:
将payload的email字段改为:
http://**.**.**.**/bugs/wooyun-2014-080646介绍过<%0b...%0b>会被过滤为<...>
提交注册成功之后我们在浏览器里面看看uid:
注入生成SHELL:
%0b会在全剧过滤的时候删除,所以我们利用这个特性绕过安全狗。执行后生成文件D:\web\demo\data\logo\2015\04\14\test.php
浏览器浏览:
http://**.**.**.**/data/logo/2015/04/14/test.php
漏洞证明:
http://**.**.**.**/data/logo/2015/04/14/test.php
修复方案:
1. utf8_to_gbk转换过的数据去要再次addslashs。
2. 修复http://**.**.**.**/data/filetpl.php暴露路径的问题
版权声明:转载请注明来源 龟兔赛跑@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2015-04-19 16:56
厂商回复:
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值
100%
0%
0%
0%