【问题标题】:How to fix Veracode - Cross site scripting - CWE ID 80 - Basic XSS - use of $(item) in .each function如何修复 Veracode - 跨站点脚本 - CWE ID 80 - 基本 XSS - 在 .each 函数中使用 $(item)
【发布时间】:2019-05-05 20:50:12
【问题描述】:

所以,当我们的 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)本身不安全?
如果是的话,我该如何解决? 我将不胜感激。

【问题讨论】:

    标签: javascript jquery html user-interface veracode


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-02
      • 2017-11-22
      • 2018-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-07
      • 1970-01-01
      相关资源
      最近更新 更多