起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4708|回复: 2

[结贴] 报表下载存在漏洞

[复制链接]

27

主题

81

帖子

191

积分

初级会员

Rank: 2

积分
191
QQ
发表于 2019-12-11 09:17:59 | 显示全部楼层 |阅读模式
版本: 其它(帖子中说明) 小版本号:
数据库: Oracle 服务器操作系统: Linux 应用服务器: Tomcat
客户端操作系统: 其它(帖子中说明) 浏览器: Chrome
BeX5 3.7 输出excel存在漏洞 QQ图片20191211091257.png QQ图片20191211091517.png 篡改请求引用shadow文件 QQ图片20191211091658.png 下载到系统内的其他文件



91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2019-12-11 10:41:32 | 显示全部楼层
/UI2/system/service/report/printGetFile.j中调用的ReportHelper.getFile(request, response);方法的具体实现如下,可以自己重写去控制
  1.   String filename = request.getParameter("filename");
  2.                 String reportName = URLEncoder.encode(request.getParameter("reportName"),"utf-8");
  3.                 String outputType = request.getParameter("outputType");
  4.                 OutputStream out = null;
  5.                 FileInputStream inputStream = null;
  6.                 try{
  7.                         //__check_ver2__
  8.                         File reportFile = new File(System.getProperty("java.io.tmpdir") + "/" + filename);
  9.                         inputStream = new FileInputStream(reportFile);
  10.                         response.setCharacterEncoding("UTF-8");
  11.                        
  12.                         String fileNameKey = "filename";
  13.                         UserAgent ua = com.justep.ui.util.NetUtils.getUserAgent(request);
  14.                         if(Browser.FIREFOX.equals(ua.getBrowser().getGroup())){
  15.                                 fileNameKey = "filename*";
  16.                         }
  17.                        
  18.                         if("doc".equals(outputType)){
  19.                                 response.setHeader("Cache-Control", "no-cache");
  20.                                 response.setHeader("Content-Type", "application/ms-word");                                               
  21.                                 response.setHeader("Content-disposition", "attachment;"+fileNameKey+"=""+ reportName + """);       
  22.                         }else if("xls".equals(outputType)){
  23.                                 response.setHeader("Cache-Control", "no-cache");
  24.                                 response.setHeader("Content-Type", "application/ms-excel");
  25.                                 response.setHeader("Content-disposition", "attachment;"+fileNameKey+"=""+ reportName + """);                       
  26.                         }else if("preview".equals(outputType)){
  27.                                 response.setHeader("Content-Type", "application/pdf");
  28.                                 response.setHeader("Content-disposition", "inline;filename=""+ reportName + """);
  29.                         }else if("pdf".equals(outputType)){
  30.                                 response.setHeader("Cache-Control", "no-cache");
  31.                                 response.setHeader("Content-Type", "application/pdf");
  32.                                 response.setHeader("Content-disposition", "attachment;"+fileNameKey+"=""+ reportName + """);
  33.                         }
  34.                         response.setHeader("Cache-Control", "pre-check=0, post-check=0, max-age=0");
  35.                        
  36.                         out = response.getOutputStream();
  37.                         byte[] bt = new byte[1024];
  38.                         int i = -1;
  39.                         while((i = inputStream.read(bt)) != -1){
  40.                                 out.write(bt, 0, i);
  41.                         }
  42.                         out.flush();                       
  43.                 }finally{
  44.                         if(null!=inputStream) inputStream.close();
  45.                         if(null!=out) out.close();
  46.                 }
复制代码


远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

27

主题

81

帖子

191

积分

初级会员

Rank: 2

积分
191
QQ
 楼主| 发表于 2019-12-12 16:06:57 | 显示全部楼层
结帖
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-18 05:09 , Processed in 0.071959 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表