диагностировать уязвимости типа DB_Parameter_Tampering. Пример: сервисный метод принимает какой-то id, далее стек вызовов — фасады, мапперы и иже с ними....доходим до DAO стоя. В итоге Сheckmarx ругается примерно следующим:
Checkmarx в этом случае правильно ругается. Грубо говоря, ты принял какой-то ID в веб эндпоинте, и без всяких проверок спустил его ниже по слоям. В этом и суть инспекции.
Какие могут быть проверки ID до dao слоя?
id не строкой случайно идет?
Имеет ли текущий пользователь доступ к той сущности, которую ты выбираешь в своём "дао слое", например
Если пользователь дернул эндпоинт, то у него есть нужные права.
Права через Security проверяется? Т.е. любой пользователь может получить все сущности этого DAO?
Да, права через Security чекаются
Предупреждает, что используя перебор id можно всю таблицу получить
он предупреждает, о том что я явно использую ID как параметр эндпоинта и предлагает, получать тот ID из базы (например по имени сущности), с последующим использованием в нужном запросе. Но это дичь какая-то в данной ситуации.
нельзя, я же по ID фильтруюсь в предикате
Обсуждают сегодня