谁能解释为什么VeraCode似乎认为使用name
作为公共属性是一个坏主意,并提出一个很好的缓解评论?
代码(JavaScript(:
var BatchTask = (function () {
function BatchTask(batchOrTask, isBatch) {
if (isBatch) {
...
}
else {
var task = batchOrTask;
this.name = task.name; // flaw identified on this line
}
}
return BatchTask;
}());
缺陷:CWE-80:网页中与脚本相关的 HTML 标记的中和不正确(基本 XSS(
攻击媒介:名称
说明:此对 name(( 的调用包含一个跨站脚本 (XSS( 缺陷。应用程序使用不受信任的 HTTP 响应填充 HTTP 响应输入,允许攻击者嵌入恶意内容,例如Javascript代码,将在受害者的上下文中执行浏览器。XSS 漏洞通常被用来窃取或操纵 Cookie、修改内容呈现和泄露机密信息,发现新的攻击媒介定期。
在与Veracode协商后,他们已经确认这是一个假阴性,并且是他们将调查的引擎中的错误。