如何修复来自 getResultList 元素的 Checkmarx 存储 XSS 问题

How to Fix Checkmarx Stored XSS issue from a getResultList element

在Java中,在下面一行中:

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

List<T> result =query.getResultList();

意思是需要对变量结果进行适当的过滤或编码,否则可能会引发跨站脚本攻击。

我已经使用了 HtmlUtils.htmlEscape(queryString) 字符串对象。

如有任何帮助和建议,我们将不胜感激。谢谢

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

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