如何修复Fortify路径操纵(输入验证和表示,数据流)漏洞

时间:2019-04-24 06:11:50

标签: java file path fortify

通过使用新关键字创建文件,我正在加强路径操作漏洞

在将路径传递给File对象之前,我曾尝试清理路径,但问题仍然存在。 还尝试了此链接: https://www.securecoding.cert.org/confluence/display/java/FIO00-J.+Do+not+operate+on+files+in+shared+directories

public static String sanitizePath(String sUnsanitized) throws URISyntaxException, EncodingException {

   String sSanitized = SAPI.encoder().canonicalize(sUnsanitized);
   return sSanitized;

}


//// the main method code snippet /////

String sSanitizedPath = Utils.sanitizePath(file.getOriginalFilename());

-- fortify scan detects problem here ..in below line --

File filePath = new File(AppInitializer.UPLOAD_LOCATION, sSanitizedPath);

String canonicalPath = filePath.getCanonicalPath();
FileOutputStream fileOutputStream = new FileOutputStream(canonicalPath);

在santizePath之后,我认为扫描不会被选择,而是进行了。

1 个答案:

答案 0 :(得分:0)

此“ sunsanitized”变量来自用户输入吗?也许这是您的真正问题。

从不信任用户输入其开发规则。