我刚刚完成了对 asp.net mvc web 应用程序的第一次 Veracode 静态扫描,Veracode 发现了数十个 CWE-80:网页中与脚本相关的 HTML 标签的中和不当缺陷。
几乎所有这些都涉及使用 jquery html() 方法。我们的模式是在 javascript 中进行 $.ajax() 调用,并在成功事件中在 html 元素中显示 $.ajax 调用的结果,如下所示:
success: function(data) {
$('#elementid').html(data);
}
在大多数情况下,这些 $.ajax() 调用是对返回 MVC 部分 View 、充满 html 标记等的 MVC Controller 方法的调用。
我们将如何更改我们的 javascript,以便像这样的调用不会被 Veracode 标记为 CWE-80 缺陷?我们仍然可以对 Controller 方法进行客户端 $.ajax 调用,这些方法返回 html block 并通过 Veracode 测试吗?
最佳答案
我安排了一次 Veracode 咨询,了解到 Veracode 只是将所有 $.html() 调用标记为中等严重程度的缺陷。我们可以采取两种行动:
- 将缺陷标记为“已缓解”并提供解释,或者
- 更改代码以删除对 $.html() 的所有调用。
我们选择将所有这些缺陷标记为“已缓解”。
关于javascript - 避免 Veracode CWE-80 : Improper Neutralization of Script-Related HTML in jquery htm() method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50863812/