通过使用新关键字创建文件,我正在加强路径操作漏洞
在将路径传递给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之后,我认为扫描不会被选择,而是进行了。
答案 0 :(得分:0)
此“ sunsanitized”变量来自用户输入吗?也许这是您的真正问题。
从不信任用户输入其开发规则。