首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在java中传递声纳的PT_RELATIVE_PATH_TRAVERSAL

在java中传递声纳的PT_RELATIVE_PATH_TRAVERSAL
EN

Stack Overflow用户
提问于 2015-06-18 08:00:55
回答 2查看 1.4K关注 0票数 0

我有两个问题声纳是可悲的。具有相对路径遍历问题的代码行中的第一个问题,如下所示:

代码语言:javascript
复制
File f = new File(MY_DIR + filename);

其中文件名是从请求中获得的参数。

第二行是关于绝对路径遍历的问题,除了前面没有MY_DIR之外,这个问题看起来是一样的。

在这些行之后,我使用一种方法添加了验证检查,该方法使用规范路径确保文件位于MY_DIR目录中,因此现在如下所示:

代码语言:javascript
复制
...
File rootDirFile = new File(MY_DIR);
        if (validateFileName(rootDirFile, f)) {
...
private static boolean validateFileName(File targetDir, File fileToCheck) throws IOException {
    String targetDirPath = targetDir.getCanonicalPath() + File.separator;
    String pathToCheck = fileToCheck.getCanonicalPath();

    return pathToCheck.startsWith(targetDirPath);
}

但声纳仍在说我在这两条线上有漏洞。怎么告诉它我找到了解决办法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-18 10:10:35

根据您的版本,您可以在5.1之前将问题标记为“不会修复”(这意味着该问题的债务已被接受--自5.1起)或“假阳性”(意思是您认为分析引擎是错误的)。

票数 1
EN

Stack Overflow用户

发布于 2015-06-18 12:57:54

密斯芬德尔是对的。你唯一的选择是标记问题“不会修复”,或者如果在你的平台版本中没有这个问题,“假阳性”。

对于这些安全规则,没有“正确的代码解决方案”。这是因为他们的设计是为了提醒人类安全审计师注意所有潜在的问题。然后由审计师来检查代码,或者关闭问题(“不会修复”),或者向适当的团队提出。

你可以找到更多的在医生里

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30909672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档