提问者:小点点

jQueryResull. load()函数导致CWE-201 veracode错误


以下代码片段导致Veracode错误CWE-201

function advice(tab){
var foo = document.getElementById("foo").value;
var bar = document.getElementById("bar").value;
tab.loader.load({
    url : contextPath+"/test.do?method=helloWorld",
    method : "POST",
    params : {
        method : "hi",
        Foo : foo,
        Bar : bar,
        scripts : true
    }
});
}  

不知道我哪里出错了。请纠正我。


共1个答案

匿名用户

简而言之,CWE 201是关于暴露敏感信息的风险。我假设您共享的代码片段不是实际代码,因为不容易确定POST请求的哪一部分可能会引入这种暴露。

我看到的可以被扫描标记为敏感数据来源的来源是您通过POST发送的参数。如果您认为有必要发送这些敏感数据,那么您必须实施某种形式的权限改造检查,以确保只有具有正确权限的用户才能执行此操作。确保数据通过HTTPS上下文发送也是一个很好的代码检查。

我不确定您正在使用的底层服务器端Web框架,因此我无法为将在此客户端调用之上生成的验证提出代码建议。

如果数据本质上不敏感,那么这是误报,您必须向您的安全团队提出。

顺便说一句,我认为通过URL或查询字符串控制方法调用不是一个好主意。攻击者可以猜测或模糊它可以发送的有效方法列表,如果您的代码没有适当的autn/autz检查,您的应用程序/api可能会被利用。