如何修复 Veracode - 跨站点脚本 - CWE ID 80 - 基本 XSS - 在 .each 函数中使用 $(item)
Posted
技术标签:
【中文标题】如何修复 Veracode - 跨站点脚本 - CWE ID 80 - 基本 XSS - 在 .each 函数中使用 $(item)【英文标题】:How to fix Veracode - Cross site scripting - CWE ID 80 - Basic XSS - use of $(item) in .each function 【发布时间】: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)
本身不安全?
如果是的话,我该如何解决?
我将不胜感激。
【问题讨论】:
【参考方案1】:好的,从 DOMPurify 库中找到了修复程序。
您也可以使用 DOMPurify 清理 DOM 元素。
所以,下面的代码有效 -item = DOMPurify.sanitize(item, SAFE_FOR_JQUERY:true);
【讨论】:
以上是关于如何修复 Veracode - 跨站点脚本 - CWE ID 80 - 基本 XSS - 在 .each 函数中使用 $(item)的主要内容,如果未能解决你的问题,请参考以下文章
请教关于使用appscan 检测"基于DOM的跨站点脚本"漏洞修复问题