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