首页 > 解决方案 > 避免 Veracode CWE-80:jquery htm() 方法中与脚本相关的 HTML 的不正确中和

问题描述

我刚刚完成了我对 asp.net mvc web 应用程序的第一次 Veracode 静态扫描,Veracode 发现了几十个 CWE-80: Improper Neutralization of Script-Related HTML Tags in a Web Page 缺陷。

几乎所有这些都涉及使用 jquery html() 方法。我们的模式是在 javascript 中进行 $.ajax() 调用,并在成功事件中在 html 元素中显示 $.ajax 调用的结果,如下所示:

success: function(data) {
    $('#elementid').html(data);
}

在大多数情况下,这些 $.ajax() 调用是对返回 MVC 部分视图、塞满 html 标记等的 MVC 控制器方法。

我们将如何更改我们的 javascript,以便这样的调用不会被 Veracode 标记为 CWE-80 缺陷?我们仍然可以对返回 html 的 blob 并使用 Veracode 传递集合的控制器方法进行客户端 $.ajax 调用吗?

标签: javascriptjqueryajaxveracode

解决方案


我安排了一次 Veracode 咨询,并了解到 Veracode 只是将所有 $.html() 调用标记为中等严重性的缺陷。我们可以采取两种行动:

  1. 通过解释将缺陷标记为“已缓解”,或
  2. 更改代码以删除对 $.html() 的所有调用。

我们选择将所有这些缺陷标记为“已缓解”。


推荐阅读