SQL-инъекция
SQL-инъекция — это тип атаки на веб-приложения, при которой злоумышленник внедряет вредоносный SQL код в запросы к базе данных через пользовательский ввод.
Как работает SQL-инъекция
- Приложение принимает пользовательский ввод
- Ввод напрямую подставляется в SQL запрос
- Злоумышленник вводит SQL код вместо обычных данных
- База данных выполняет внедренный код
Типы SQL-инъекций
- In-band SQLi — результат атаки виден сразу
- Blind SQLi — результат не виден, но можно делать выводы
- Out-of-band SQLi — данные передаются через другие каналы
Пример уязвимого кода
Методы защиты
- Параметризованные запросы — использование placeholders
- Stored procedures — хранимые процедуры
- Валидация ввода — проверка пользовательских данных
- Escaping — экранирование специальных символов
- Least privilege — минимальные права для БД пользователя
Безопасный код
FAQ
Как проверить приложение на SQL-инъекции?
Используй инструменты как SQLmap, Burp Suite, или проводи manual testing с различными payload'ами.