【发布时间】:2017-11-22 20:31:07
【问题描述】:
谁能解释为什么 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: Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS)
攻击向量:名称
说明:对 name() 的调用包含跨站点脚本 (XSS) 缺陷。应用程序使用不受信任的方式填充 HTTP 响应 输入,允许攻击者嵌入恶意内容,例如 Javascript代码,将在受害者的上下文中执行 浏览器。 XSS 漏洞通常被用来窃取或 操纵 cookie、修改内容的呈现方式和妥协 机密信息,新的攻击媒介被发现 定期。
【问题讨论】:
-
你是否转义了传入的数据(task.name)?
-
在与 Veracode 人员协商后,他们确认这是假阴性,并且是他们将调查的引擎中的错误。
-
请为此创建一个答案,接受自己的答案,谢谢。
标签: javascript security xss veracode