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

huangapple go评论92阅读模式
英文:

How to Fix Checkmarx Stored XSS issue from a getResultList element

问题

在Java中,以下代码行中:

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

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

它表明变量 result 需要经过适当的过滤或编码,否则可能会导致跨站脚本攻击。

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

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

英文:

In Java, in the line below:

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

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

It is saying that the variable result needs to be properly filtered or encoded otherwise it may enable a Cross-Site Scripting Attack.

I have already used HtmlUtils.htmlEscape(queryString) String object.

Any help and suggestions would be appreciated. Thanks

答案1

得分: 5

Checkmarx最终将查看输出(sink)。然后,您必须对列表中的每个结果项执行htmlEscape。

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

Checkmarx will ultimately look at the sink(output). You will have to then perform htmlEscape in each of the resulting item in the List

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

huangapple
  • 本文由 发表于 2020年8月11日 19:35:48
  • 转载请务必保留本文链接:https://go.coder-hub.com/63357314.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定