![](/img/trans.png)
[英]How to validate a filename in JAVA to resolve CWE ID 73(External Control of File Name or Path) using ESAPI?
[英]How to fix CWE 73 External Control of File Name or Path
在验证码扫描期间,我的结果中出现了 CWE 73 问题。 有人可以建议我如何为以下编码场景修复此解决方案吗?
提供的现有解决方案不起作用,我也想知道任何 ESAPI 属性都可以用来解决这个问题?
尝试 { String serviceFile = System.getProperty("PROP", ""); logger.info("服务A", "加载服务文件[" + serviceFile+ "]."); //Security Issue CWE 73 Occurs in this line }
有几种解决方案:
使用白名单进行验证,但使用来自入口点的输入正如我们在使用硬编码值列表中提到的。
使用简单的正则表达式白名单进行验证
规范化输入并验证路径
我使用了第一个和第二个解决方案并且工作正常。
更多信息: https ://community.veracode.com/s/article/how-do-i-fix-cwe-73-external-control-of-file-name-or-path-in-java
尝试使用推荐的 OWASP ESAPI 验证器方法验证此 PROP 字符串,如下所示。
例子:
String PropParam= ESAPI.validator().getValidInput("",System.getProperty("PROP", ""),"FileRegex",false);
FileRegex
是正则表达式,用于验证 PROP 字符串(即文件的路径)。
在 Validator.properties 中定义FileRegex = ^(.+)\/([^\/]+)$
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.