'
Аканов Т.Т.
БЕЗОПАСНОСТЬ САЙТОВ: SQL – ИНЪЕКЦИЯ *
Аннотация:
данная работа представляет собой обзор существующих методов определения SQLинъекций, рассмотрение причин возникновения. На основе рассмотренного материала предлагаются методы по защите информации на уровне ввода данных в текстовые формы
Ключевые слова:
информация, безопасность, SQL, SQL-инъекция, защита информации
Веб-сайты обращаются к структурированной информации, которая размещена в базах данных. Пользователи взаимодействуют с данными через формы для ввода и отображения информации. Например, при аутентификации вводится логин и пароль, критерии проверяются на сервере. В базе данных находится информация о пользователях и определен уровень доступа. Иногда разработчики сайта не учитывают ситуацию, что в поле ввода информации, возможно, помещен текст, который нарушит работу сервера. Сервер обрабатывает полученные данные как заданную команду. Этой уязвимостью может воспользоваться злоумышленник, например, получив аутентификационные данные пользователя с правами администратора,— такая проблема получила название SQL-инъекции. После ввода логина и пароля, данные из текстовой формы передаются на сервер и подставляются в запрос, представленный следующим образом. Рассмотрим варианты некорректных запросов, которые вызывают уязвимость к SQL-инъекциям в работе базы данных. Такие уязвимости возникают по следующим причинам: – Динамическое построение SQL-запросов. Самый простой вариант для программиста — подставлять без дополнительной фильтрации введенные пользователем данные в готовую конструкцию запроса. – Некорректная обработка исключений. При попытке отправки SQLкоманды, содержащей ошибку, SQL-сервер отправит обратно пользователю информацию о ней. Злоумышленник, ориентируясь по этим сообщениям, вводит правильную команду. – Некорректная обработка специальных символов. В базе данных MySQL, например, комментарий задается с помощью символов “--” или “#” [3]. Потому приложение должно обрабатывать такие символы. – Некорректная обработка типов. При обработке символа апострофа (‘) закрывается уязвимость текстовых данных. Однако в числовых типах проблема остается. У злоумышленника есть возможность добавить команду. С помощью union к исходному запросу присоединится еще одна таблица, в данном случае с названием users. С точки зрения программирования, задача защиты сервера от SQL- инъекций решаема. Администратор должен помнить об этой уязвимости и предпринять правильные меры по защите. SQL-инъекция является распространенной и разрушающей уязвимостью, поэтому важно защитить приложение и сервер от данных атак. Прежде всего необходима фильтрация поступающих данных. Фильтрация происходит на сервере, так как из приложения возможен перехват и изменение информации. Специальные символы текстовой информации, например, апостроф (‘) или косая черта (/), должны дополняться символом косой черты (/). Например, если в поле username будет значение «Д’Артаньян», то в базу данных будет записано значение «Д/’Артаньян», и ошибок не возникнет. Для проверки численной информации пользуются проверкой типа. Сервер вернет корректную ошибку пользователю, который в числовое поле поместит текст. В приложении рекомендуется ограничивать количество символов для ввода информации, а на сервере — проверять ее. При переполнении поля запрос отклоняется. Рекомендуется также отключить вывод ошибок от SQL-сервера, тогда злоумышленнику придется «вслепую» угадывать команды. Рекомендуется произвести настройку прав пользователей базы данных, с ограничением прав учетной записи сервера. SQL-инъекции приводят к проблемам в работе веб-сайтов. Важно не допускать несанкционированного доступа к конфиденциальным данным, корректно обрабатывая входящую информацию. Закрытие уязвимостей от SQL-инъекций является важной задачей по обеспечению информационной безопасности и корректной работе вебприложений. Данные проблемы решаемы с помощью инструментов программирования, пример решения рассмотрен в статье.
Номер журнала Вестник науки №6 (15) том 4
Ссылка для цитирования:
Аканов Т.Т. БЕЗОПАСНОСТЬ САЙТОВ: SQL – ИНЪЕКЦИЯ // Вестник науки №6 (15) том 4. С. 265 - 268. 2019 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/1818 (дата обращения: 29.03.2024 г.)
Вестник науки СМИ ЭЛ № ФС 77 - 84401 © 2019. 16+
*