Java 信任边界冲突-代码缺陷

Java 信任边界冲突-代码缺陷,java,security,veracode,Java,Security,Veracode,我正在测试的代码中存在信任边界冲突。该代码在会话中添加表单,并且由于信任边界冲突而存在缺陷 Inside Struts Action class execute method { EditForm editform = new EditForm (); All the values are set either from databse or from request params and then the form is added to session as below **re

我正在测试的代码中存在信任边界冲突。该代码在会话中添加表单,并且由于信任边界冲突而存在缺陷

Inside Struts Action class execute method
{
 EditForm editform = new EditForm ();
 All the values are set either from databse or from request params and then the form is   added to session as below

 **request.getSession(false).setAttribute("EDIT_FORM", editform );**
}
我违反了显示为粗体的代码


我怎样才能解决这个问题?我不确定在哪里添加验证。它是在Action类execute方法中创建的一个新表单,VAUE是从request和db填充的

  • ESAPI.getValidInput(…)

在设置属性之前。我发现这个缺陷与对象类型变量有关,这是有史以来最糟糕的事情,因为你无法验证它,因为你不知道它的类型。

你应该试试esapy库,试试类似的方法:

  • ESAPI.getValidInput(…)

在设置属性之前。我发现这个缺陷与对象类型变量有关,这是有史以来最糟糕的事情,因为你无法验证它,因为你不知道它的类型。

基本问题是,你混合了受信任的数据(来自数据库)和不受信任的数据(来自表单数据)。在将用户输入与受信任的数据混合之前,您应该验证用户输入,以便整个集合仅包含受信任的数据。您的意思是我必须验证从execute方法内的请求参数使用的所有值?@kachan您是否能够解决此问题?基本问题是您正在混合受信任的数据(来自数据库)具有不受信任的数据(来自表单数据)。您应该先验证用户输入,然后再将其与受信任的数据混合,以便整个集合仅包含受信任的数据。您的意思是我必须验证从execute方法内的请求参数使用的所有值?@kachan您是否能够解决此问题?那么您如何能够验证对象类型变量bles?你知道吗。我用getValidInput()来表示字符串内容。那么你怎么能到处验证对象类型变量呢?你知道吗。我用getValidInput()来表示字符串内容。