Fortify扫描遇到了Path Manipulation问题,定位代码如下:
File publisFile = null;
File publisFileDir = new File(OSSFileUtils.getDeploy()+"/"+corpPK);
涉及到安全性问题,在文件目录下,没有限制文件目录,可能存在的问题是:可以退回上一级目录,继而访问上一级内容,
解决办法:step1增加工具方法对文件目录的特殊字符进行处理
public static String validFilePath(String filepath) throws Exception{
List<String> allowedExtensions = new ArrayList<>();
boolean result = false;
allowedExtensions.add(".xml");
allowedExtensions.add(".jar");
allowedExtensions.add(".api");
allowedExtensions.add(".properties");
allowedExtensions.add(".xsd");
allowedExtensions.add(".flw");
allowedExtensions.add(".schema");
allowedExtensions.add(".MF");
allowedExtensions.add(".log");
for(String suf:allow