javascript - 避免 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 调用吗?
解决方案
我安排了一次 Veracode 咨询,并了解到 Veracode 只是将所有 $.html() 调用标记为中等严重性的缺陷。我们可以采取两种行动:
- 通过解释将缺陷标记为“已缓解”,或
- 更改代码以删除对 $.html() 的所有调用。
我们选择将所有这些缺陷标记为“已缓解”。
推荐阅读
- python - 是否可以在 tkinter 输入框中预设文本,如果单击该输入框,预设文本会消失?
- pandas - 遍历文件夹并绘制多个 csv 文件
- jenkins-pipeline - 如何使用 Jenkins 测试运行查找应用程序版本号
- javascript - 使用 Typescript 在构造函数中创建属性
- react-native - 更改 TextInput 字体颜色
- entity-framework-6 - 具有 EF 6 数据库第一模型的 Azure 函数 - 连接字符串问题
- flutter - 如何在颤振调试中查看变量值
- fonts - 强制所有 u+0061 为 u+0061(ss02)
- javascript - 字符串到变量名JS
- javascript - 使用 nodejs 创建 Kubernetes 作业时获取状态码 422