У меня есть контроллер REST, который имеет метод deleteStudent
, который принимает два параметра studentId
которого Long
и section
который String
.CheckMarx XSRF выпуск атаки
@RequestMapping(value="/rest/deleteStudent/studentId/{studentId}/section/{section}", method = RequestMethod.DELETE)
public Student deleteStudent(@PathVariable Long studentId, @PathVariable String section){
return studentService.deleteStudent(studentId ,section);
}
Для выше коды checkmarx жалуется Значение этого параметра проходит через код и, в конечном счете используется для изменения содержимого базы данных. Приложение не требует повторной аутентификации пользователя для запроса. Это может обеспечить кросс-сайт запроса подделку (XSRF).
Я пробовал Htmlutils.htmlescape
(с весны web util) по разделу, но не повезло.
Как избавиться от этой проблемы checkmarkx?
Еще одна вещь, как атака XSRF и SQL-инъекций возможна, если поле имеет длинный тип?
Я применил фильтр, который добавляет уникальный токен csrf, но все же он жалуется на атаку csrf – sar
Если вы уверены, что защита CSRF работает правильно, это может быть ложным положительным. Я не знаю инструмент, который вы используете, но, возможно, он не может обнаружить, что есть защита, особенно если он анализирует код и не тестирует его функционально ... – AntoineB
@saurabh, какой фильтр это? Ваш фрагмент кода не содержит анти-csrf-токена ... – yaloner