如何修复Veracode-跨站点脚本-CWE ID 80-基本XSS-在.each函数中使用$(item)

时间:2018-12-04 12:13:58

标签: javascript jquery html user-interface veracode

因此,当我们在Web应用程序中扫描Veracode时,我发现许多跨站点脚本缺陷,

  

“网页中与脚本相关的HTML标记的不正确中和(基本XSS)”(CWE ID 80)。

而且,由于存在一些缺陷,我不知道如何解决此特定情况。 下面是我的代码-

$(".ui-dialog-buttonset .ui-button:visible").each(function(index, item) {
    var label = $(item).text();
    if (label == "Save" || label == "Create")
        $(item).click();
});

我可以看到在$(item).text();$(item).click();行上报告了缺陷。
我了解,对于文本,我可以使用DOMPurify.sanitize之类的东西来清洁字符串。
但是,我不明白,为什么Veracode为$(item).click();报告 是因为$(item)本身不安全吗?
如果是,那我该如何解决? 在此方面的任何帮助,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

好的,可以从DOMPurify库中找到修复程序。 您也可以使用DOMPurify清理DOM元素。
因此,下面的代码有效-
item = DOMPurify.sanitize(item, {SAFE_FOR_JQUERY:true});