Нарушение границ доверия - ошибка 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

 **request.getSession(false).setAttribute("EDIT_FORM", editform );**
}

У меня нарушение кода, выделенного жирным шрифтом.

Как я могу это исправить? Я не уверен, куда добавить проверку. Это новая форма, которая создается внутри методов выполнения класса Action, а значения заполняются из запроса и базы данных.


person kachan    schedule 26.08.2013    source источник
comment
Основная проблема заключается в том, что вы смешиваете доверенные данные (из базы данных) с ненадежными данными (из данных формы). Вы должны проверить вводимые пользователем данные, прежде чем смешивать их с надежными данными, чтобы вся коллекция содержала только надежные данные.   -  person Aurand    schedule 27.08.2013
comment
Вы имеете в виду, что мне нужно проверить все значения, которые я использую, из параметров запроса внутри метода execute?   -  person kachan    schedule 27.08.2013
comment
@kachan Удалось ли вам решить эту проблему?   -  person Kainix    schedule 24.11.2020


Ответы (1)


Вам следует попробовать библиотеку esapy, попробуйте что-то вроде:

  • ESAPI.getValidInput (...)

Перед установкой атрибута. Я обнаружил, что этот недостаток связан с переменной типа объекта, и это самое ужасное, потому что вы не можете проверить его, так как не можете знать тип.

person Jose Miguel    schedule 07.05.2015
comment
Тогда как вы можете обойти проверку переменных типа объекта? Есть ли у вас какие-нибудь идеи. Я использую getValidInput () для содержимого String. - person Kainix; 24.11.2020