首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修复CWE 73文件名或路径的外部控制

如何修复CWE 73文件名或路径的外部控制
EN

Stack Overflow用户
提问于 2019-08-12 11:15:14
回答 3查看 1.7K关注 0票数 0

在veracode扫描中,我得到了CWE 73的结果。有人能建议我如何为下面的编码场景修复这个解决方案吗?

现有的解决方案是不起作用的,我也想知道任何ESAPI属性可以用来解决这个问题吗?

尝试{ String serviceFile =System.getProperty(“System.getProperty”,"");logger.info(“服务A",”加载服务文件“+ serviceFile+ .);//安全问题CWE 73出现在该行}中。

EN

回答 3

Stack Overflow用户

发布于 2019-08-27 17:07:35

有几种解决办法:

  1. 使用白名单验证,但是使用入口点的输入,正如我们在“使用硬编码值列表”中提到的那样。
  2. 使用简单的正则表达式白名单进行验证
  3. 引导输入并验证路径

我使用了第一个和第二个解决方案,并且工作得很好。

更多信息请访问:https://community.veracode.com/s/article/how-do-i-fix-cwe-73-external-control-of-file-name-or-path-in-java

票数 0
EN

Stack Overflow用户

发布于 2022-03-31 22:35:43

文档提供了建议补救任何显式自定义解决方案的详细信息。在我的例子中,我尝试在提供的方法参数中添加白名单或黑名单模式,但是仍然没有解决CWE-73风险。我认为这是意料之中的,而这份文件的确是这样说的:

静态引擎所能检测到的东西是有限的。它只能扫描您的代码,它不会实际运行您的代码(不像动态扫描)。因此,它不会进行任何自定义验证(如果条件、正则表达式等)。但这并不意味着这不是一个完全有效的解决方案,以消除风险!

我尝试了我的基于自定义黑名单模式的解决方案,并用FilePathCleanser注释了这里中的方法,它解决了CWE-73和veracode不再显示为一种风险。

票数 0
EN

Stack Overflow用户

发布于 2022-07-03 18:00:23

尝试使用推荐的OWASP ESAPI Validator方法验证此支柱字符串,如下所示。

示例:

代码语言:javascript
运行
复制
String PropParam= ESAPI.validator().getValidInput("",System.getProperty("PROP", ""),"FileRegex",false);

FileRegex是一个正则表达式,用于验证支持字符串,即文件的路径。

FileRegex = ^(.+)\/([^\/]+)$中定义Validator.properties。

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

https://stackoverflow.com/questions/57460153

复制
相关文章

相似问题

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