Будет ли EntityManager.find(id) выполнять злонамеренную атаку?

Мои службы отдыха берут параметр «ids» из пользовательского интерфейса. Мой контроллер, как показано ниже

@RestOutMessage
deleteEntry(List<String> ids) {
    .......
}

Я запустил Checkmarx в своем приложении, и оно выделило «id» и сообщило, что оно уязвимо для XSS и других атак с внедрением HTML.

Внутри мой код использовал entityManager.delete(id). Я не уверен, безопасно ли это или как я могу объяснить, что это безопасно.


person tech_questions    schedule 02.05.2018    source источник
comment
Внедрение XSS и HTML происходит в модели, обращенной к клиенту, а не в модели на стороне сервера.   -  person Compass    schedule 02.05.2018
comment
Спасибо, но я получаю идентификатор из пользовательского интерфейса.   -  person tech_questions    schedule 02.05.2018
comment
Если у вас есть какая-либо транзакция, исходящая из пользовательского интерфейса, то да, злоумышленник может использовать XSS на стороне клиента для атаки на вашу базу данных.   -  person Compass    schedule 02.05.2018
comment
Попробуйте добавить больше кода, чтобы мы могли увидеть весь предполагаемый вектор атаки. Также может оказаться полезным полное описание предупреждения Checkmarx.   -  person yaloner    schedule 03.05.2018


Ответы (1)


Я не знаком с checkmarx, но в основе вашего вопроса. Я действительно не понимаю, как эта строка кода может быть связана с внедрением XSS или HTML. Вероятно, вам следует беспокоиться только о SQL-инъекциях, и на этом фронте вы в безопасности - Hibernate использует PreparedStatement внизу.

person korolar    schedule 02.05.2018