如何修复 getResultList 元素中的 Checkmarx Stored XSS 问题

Nit*_*esh 2 java xss secure-coding checkmarx

在 Java 中,在下面的行中:

TypedQuery<T> query=entityManger.createQuery(queryString, clazz);

List<T> result =query.getResultList();
Run Code Online (Sandbox Code Playgroud)

也就是说,变量结果需要正确过滤或编码,否则可能会引发跨站脚本攻击。

我已经使用了HtmlUtils.htmlEscape(queryString)String 对象。

任何帮助和建议将不胜感激。谢谢

Rom*_*las 5

Checkmarx 最终会关注接收器(输出)。然后,您必须在列表中的每个结果项目中执行 htmlEscape

List<T> newResult = new ArrayList<T>();
for (T temp : result) {
    newResult.add(HtmlUtils.htmlEscape((String) temp));
}
Run Code Online (Sandbox Code Playgroud)