我对我的一个模块进行了增强扫描,并收到了动态代码评估: JNDI引用注入漏洞问题,如下所示
查找(DataSource)
数据源是动态的。我应该做些什么来防止这种情况,因为我不能使数据源静态,因为它破坏了项目的功能。
此外,我还发行了动态代码评估:当我运行fortify扫描时,代码注入。它显示了我所使用的eval函数的位置,该函数用于计算输入到textbox中的表达式,并处理相同的脚本。
var elem=document.getElementById("jse");var(elem.value);
我们可以删除哪些内容来解决这些漏洞而不影响其功能。
发布于 2020-01-16 20:19:18
dataSource变量提供一个有效值列表,并在进行查找之前对该列表进行验证。
从理论上讲,沿着这些思路的东西会起作用:
列表查找=新的ArrayList<>();lookup.add("datasource1");lookup.add("datasource2");lookup.add("datasource3");.if (lookup.contains(userInputDatasource)) { doLookup(userInputDatasource);} throw {抛出异常(“Datasource未找到;”)}
eval()函数是邪恶的,永远不要使用它。需要使用eval通常表示您的设计中存在问题。
也就是说,可以使用与上述类似的方法来验证输入仅包含有效值。
https://stackoverflow.com/questions/42919002
复制相似问题