Что такое атака SQL-инъекции через хранимые процедуры и всегда ли использование ORM даёт стопроцентную защиту от инъекций?

Хранимая процедура уязвима, если склеивает SQL из недоверенных строк и затем выполняет его. ORM снижает риск при параметризованных операциях, но не даёт стопроцентной защиты для raw SQL и динамических фрагментов.

Короткий ответ

Что ответить на собеседовании

Хранимая процедура уязвима, если склеивает SQL из недоверенных строк и затем выполняет его. ORM снижает риск при параметризованных операциях, но не даёт стопроцентной защиты для raw SQL и динамических фрагментов.

Подробный разбор

Ответ с пояснениями

Хранимая процедура уязвима, если склеивает SQL из недоверенных строк и затем выполняет его. ORM снижает риск при параметризованных операциях, но не даёт стопроцентной защиты для raw SQL и динамических фрагментов.

Значения передавайте параметрами, а имена таблиц, колонок и направление сортировки выбирайте из разрешённого набора: обычные placeholders не заменяют SQL-идентификаторы. Проверяйте, как сама процедура строит запрос внутри, даже если внешний вызов параметризован. Ограничивайте права пользователя БД и не считайте экранирование строк универсальным решением. Безопасность зависит от всего пути данных, включая вспомогательные запросы и обходные методы ORM.

Источник: cheatsheetseries.owasp.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее