Подавляющее большинство из современных IT решений в...

Телеграм июль 11, 2020

Подавляющее большинство из современных IT решений в той или иной форме работают с базами данных.

Обычно работа с базами данных осуществляется с помощью языка SQL (в переводе - "язык структурированных запросов"). Отличительной особенностью работы с SQL является то, что как правило команды передаются в виде обычного текста, который уже разбирается сервером, управляющим базой данных.

На заре развития интернета были очень популярны хакерские атаки класса "SQL-инъекции". Суть атаки проста: пользователь вводит на сайте какие-то данные, например свое имя при регистрации, эти данные отправляются в базу как текст. Злоумышленник, обладая достаточными квалификацией и терпением, может воспользоваться ситуацией и передать базе что-то вида: "Вася БАЗА УМРИ! Иванов". И база может выполнить команду!

Защищаться от подобных вещей давно научились: программист просто должен проверять, что ему передают с сайта и не пускать потенциально зловредное содержимое вглубь.

На помощь также могут прийти стандартные приемы: вместо прямой связи с веб формы с базой данных, можно использовать паттерны "фасад" или "мост" и зарубить на корню попытки внедрения инъекций.

К сожалению, веб разработчики зачастую не заморачиваются, потому SQL-инъекции еще не заняли своего места на свалке IT истории.

Eshu Marabo

Теги