EMZETT.
Увійти

SQL-ін’єкція

Коротко: Під час SQL-ін’єкції зловмисник вбудовує в поле введення власні команди бази даних, бо застосунок підставляє введене в запит без перевірки.

Докладніше: Вхід, що збирає запит як текст (... WHERE name = ' + введене + '), можна обдурити введенням ' OR '1'='1. Наслідки — від обходу входу до читання чи видалення всієї бази даних.

Подробиці

  • Захист: параметризовані запити (prepared statements). Введене передається окремо від команди й ніколи не читається як код.
  • ORM: Сучасні фреймворки за замовчуванням використовують параметри, доки ви не збираєте сирий текст.
  • Додаткові заходи: мінімальні права бази даних, перевірка введення, не показувати повідомлення про помилки.
  • Перевірка: сканери безпеки та рев’ю коду.

Див. також: OWASP Top 10, XSS (міжсайтовий скриптинг)