fortify 扫描 Bean Manipulation 漏洞
用fortify 扫描报如下漏洞,请教大神,这个该如何解决
Explanation
Bean 属性的名称和值在填充任何 bean 之前都需要进行验证。Bean 填充功能允许设置 bean 属性或嵌套属性。攻击者可以利用此功能访问特殊的 bean 属性,例如 class.classLoader,此属性将允许攻击者覆盖系统属性并可能会执行任何代码。
示例:下列代码将会设置用户控制的 bean 属性,而不会正确验证属性名称或值:
String prop = request.getParameter('prop');
String value = request.getParametehttps://bbs.csdn.net/topics/newr('value');
HashMap properties = new HashMap();
properties.put(prop, value);
BeanUtils.populate(user, properties);
Recommendation
防止 bean 操控的最佳方法是采用一些间接手段:例如创建一份合法属性名的列表,并且规定用户只能选择其中的文件名。通过这种方法,用户提供的输入就不能直接用来指定这些关键 bean 属性的详细信息了
上述红色字体是fortify 的说明,我的代码中凡是用到BeanUtils.populate方法的全部提示此漏洞,这个应该如何解决好?