SQL-ін’єкція
Коротко: Під час SQL-ін’єкції зловмисник вбудовує в поле введення власні команди бази даних, бо застосунок підставляє введене в запит без перевірки.
Докладніше: Вхід, що збирає запит як текст (... WHERE name = ' + введене + '), можна обдурити введенням ' OR '1'='1. Наслідки — від обходу входу до читання чи видалення всієї бази даних.
Подробиці
- Захист: параметризовані запити (prepared statements). Введене передається окремо від команди й ніколи не читається як код.
- ORM: Сучасні фреймворки за замовчуванням використовують параметри, доки ви не збираєте сирий текст.
- Додаткові заходи: мінімальні права бази даних, перевірка введення, не показувати повідомлення про помилки.
- Перевірка: сканери безпеки та рев’ю коду.
Див. також: OWASP Top 10, XSS (міжсайтовий скриптинг)