我刚刚完成了我对asp.net mvc web应用程序的第一次Veracode静态扫描,Veracode发现了数十个CWE-80:网页中与脚本相关的HTML标签的不正当中和。
几乎所有这些都涉及使用jquery html()方法。我们的模式是在javascript中进行$ .ajax()调用,并在成功事件中显示html元素中$ .ajax调用的结果,如下所示:
success: function(data) {
$('#elementid').html(data);
}
在大多数情况下,这些$ .ajax()调用是返回MVC部分视图的MVC控制器方法,充满了html标签等等。
我们如何改变我们的javascript,以便这样的调用不会被Veracode标记为CWE-80漏洞?我们仍然可以对返回blob blob的控制器方法进行客户端$ .ajax调用,并通过Veracode传递集合吗?
答案 0 :(得分:1)
我安排了一次Veracode咨询,并了解到Veracode只是将所有$ .html()调用标记为中等严重性缺陷。我们可以采取两种行动方式:
我们选择将所有这些缺陷标记为“已缓解”。
答案 1 :(得分:0)
授予该职位将近2年的机会,但是我碰到了同样的问题,因此我选择了该职位。减轻影响不是我们的选择。幸运的是,我们在Mozilla开发人员网络上找到了JavaScript WebAPI。
在我们的例子中,我们正在创建一个下拉列表,并通过jquery append()附加每个选项。 Web API对数据进行了足够的清理,以使Veracode应该允许添加或html方法调用。