Как происходит SQL инъекция со слепым подходом и какова логика её работы?

Какова логика работы слепой инъекции, когда проверяется существование администратора? В чем причина того, что при его отсутствии возвращается код состояния 200, а при наличии администратора происходит ошибка сервера, даже если условие подразумевает деление на 0?
  • 29 апреля 2024 г. 8:40
Ответы на вопрос 1
SQL инъекция со слепым подходом основана на том, что злоумышленник вводит вредоносный SQL код в форму на веб-сайте или приложении, который впоследствии выполняется базой данных без должной фильтрации. В результате злоумышленник может получить доступ к чувствительным данным, изменить их или даже разрушить базу данных.

В случае проверки существования администратора с использованием слепой инъекции, злоумышленник отправляет запросы на сервер с измененными параметрами в условиях SQL запроса. Если условие выполняется (т.е. администратор существует), сервер возвращает ошибку, например, деление на 0 или другую ошибку SQL. Однако, если условие не выполняется (администратор отсутствует), сервер возвращает успешный ответ с кодом состояния 200.

Причиной того, что при отсутствии администратора возвращается код состояния 200, а при наличии администратора происходит ошибка сервера, может быть недостаточная обработка ошибок со стороны разработчиков. Вместо того, чтобы обрабатывать ошибку и возвращать корректный код состояния, сервер в данном случае возвращает ошибку выполнения запроса, например, деление на 0.

Для защиты от SQL инъекций со слепым подходом, необходимо использовать параметризованные запросы, фильтрацию входных данных, регулярные выражения и другие методы защиты от таких видов атак.
Похожие вопросы