CEW 73 Veracode - 如何使用 getQueryString HttpServletRequest(java) 方法修复文件名或路径的 CWE 73 外部控制类型的缺陷
CEW 73 Veracode - How to fix flaws of the type CWE 73 External Control of File Name or Path with the method of getQueryString HttpServletRequest(java)
我正在从 HttpServletRquest(在 Java 中)检索查询字符串。
字符串查询参数 = httpServletRequest.getQueryString();
Veracode 认为这是一个缺陷,
我尝试使用推荐的 OWASP ESAPI 验证器方法来验证此查询字符串,但是 none 有效并且扫描仍然将其识别为缺陷。
示例:
String QueryParameters = ESAPI.validator().getValidInput("Page",httpServletRequest.getQueryString(),"QueryStringRegEx",false);
QueryStringRegEx 是用于验证 QueryString 的正则表达式
我不知道这是 100% 的事实,但我认为 Veracode(以及其他 SAST 引擎)只删除了 ESAPI 编码器的 XSS 污点标志,而不是 ESAPI 验证器。鉴于这里的范围和上下文有限,我无法判断它是否安全。 (这在很大程度上取决于您的正则表达式和以太币,这可以与其他地方正在检查的其他受污染的用户输入相结合。)
如果您认为它是正确的,请与您的安全团队讨论and/or将其视为误报。
我正在从 HttpServletRquest(在 Java 中)检索查询字符串。
字符串查询参数 = httpServletRequest.getQueryString();
Veracode 认为这是一个缺陷,
我尝试使用推荐的 OWASP ESAPI 验证器方法来验证此查询字符串,但是 none 有效并且扫描仍然将其识别为缺陷。
示例:
String QueryParameters = ESAPI.validator().getValidInput("Page",httpServletRequest.getQueryString(),"QueryStringRegEx",false);
QueryStringRegEx 是用于验证 QueryString 的正则表达式
我不知道这是 100% 的事实,但我认为 Veracode(以及其他 SAST 引擎)只删除了 ESAPI 编码器的 XSS 污点标志,而不是 ESAPI 验证器。鉴于这里的范围和上下文有限,我无法判断它是否安全。 (这在很大程度上取决于您的正则表达式和以太币,这可以与其他地方正在检查的其他受污染的用户输入相结合。)
如果您认为它是正确的,请与您的安全团队讨论and/or将其视为误报。