Встречается на собеседованиях • сегодня

Что можно сделать с помощью SQL-инъекций

SQL-инъекции позволяют злоумышленнику выполнять произвольные SQL-запросы к базе данных. Основные возможности:

  1. Чтение данных - получение информации из таблиц, к которым у приложения есть доступ
sql
-- Пример уязвимого запроса
SELECT * FROM users WHERE login = 'admin' OR '1'='1' -- '
  1. Изменение данных - вставка, обновление или удаление записей
sql
-- Пример инъекции для удаления таблицы
SELECT * FROM products WHERE id = 1; DROP TABLE users; --
  1. Обход аутентификации - вход без пароля
sql
-- Пример для входа как первый пользователь
SELECT * FROM users WHERE login = '' OR 1=1 LIMIT 1 -- '
  1. Выполнение команд ОС - на некоторых СУБД (MySQL, PostgreSQL) при определенных настройках

  2. Чтение файлов - через функции вроде LOAD_FILE() в MySQL

Защита: всегда используйте параметризованные запросы или ORM, валидируйте ввод, применяйте принцип минимальных привилегий для БД.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы