КИБЕРВИКИПЕДИЯ
SECURITY VISION
Введите термин или слово
SQL-инъекция
SQL-инъекция — это уязвимость в веб-приложениях, при которой злоумышленник может вставить вредоносный SQL-код в запросы к базе данных, что может привести к утечке данных, уничтожению информации или получению несанкционированного доступа.
SQL-инъекция (SQL injection) — это одна из самых распространённых уязвимостей веб-приложений, которая позволяет злоумышленнику вставить или «инъецировать» вредоносный SQL-код в запросы к базе данных. Это может происходить через формы на сайте, URL-параметры или другие способы ввода данных, где приложение не фильтрует или неправильно обрабатывает пользовательский ввод.
Вредоносный SQL-код может позволить злоумышленнику:
1. Получить доступ к конфиденциальной информации, такой как пароли, номера кредитных карт и другие личные данные.
2. Изменить или удалить данные, что может привести к серьёзным сбоям в работе сайта или приложения.
3. Получить несанкционированный доступ к базе данных, что может привести к полному контролю над системой.
Для защиты от SQL-инъекций используют:
· Подготовленные запросы (prepared statements): Это подход, при котором SQL-запросы компонуются безопасно, и пользовательский ввод не может быть интерпретирован как часть SQL-кода.
· Фильтрация пользовательского ввода: Все данные, введённые пользователем, должны быть проверены на корректность.
· Использование ORM: Объектно-реляционные отображения (ORM) помогают избежать прямого взаимодействия с базой данных через SQL-запросы, снижая вероятность инъекций.
Бытовые примеры:
1. Вставка фальшивой монеты в автомат: Как если бы кто-то мог подложить фальшивую монету в автомат, чтобы он дал больше товаров, так и SQL-инъекция позволяет злоумышленнику вмешаться в запросы.
2. Использование фальшивых документов: Как если бы кто-то использовал поддельные документы, чтобы получить доступ к чему-то, так и вредоносный SQL-код может позволить получить доступ к базе данных.
3. Мошенничество с чеками: Как мошенник может внести изменения в чек, чтобы вывести больше денег, так и с помощью SQL-инъекции можно изменить данные в базе.
· Ссылки на источники:
· Что такое SQL-инъекция?
· Как защититься от SQL-инъекций