Богомазов А.М. Студент 4 курс, факультет «Прикладная информатика» Институт инженерных и цифровых технологий НИУ «БелГУ» Россия, г. Белгород SQL инъекции Аннотация: Статья посвящена обзору SQL инъекций и утилите SQLMap. Она позволит ознакомиться с причинами SQL-инъекций и типами. Ключевые слова: защита, SQL инекции, безопасность, уязвимости. Bogomazov A.M. Student 4 course, faculty "Applied Informatics" Institute of Engineering and Digital Technology National Research University "BelSU" Russia, Belgorod SQL injection Annotation: The article is dedicated to the SQL injection review and the SQLMap utility. It will allow you to get acquainted with the causes of SQL injection and types. Keywords: protection, SQL injections, security, vulnerabilities. SQL Injection – это тип атаки, при котором злоумышленник изменяет логику SQL запросов веб-приложения, что позволяет ему читать/изменять/удалять значения в базе данных, а иногда – выполнять произвольный код на стороне сервера. В статье будет рассмотрена популярная утилита sqlmap для проведения sql-инъекций. На данный момент, данный тип уязвимости является наиболее опасным из всех возможных. На протяжении 7 лет, лидирующую строчку «OWASP TOP-10» возглавляют именно SQL инъекции. Существует 5 основных причин возникновения этой уязвимости: 1. Недостаточный уровень или отсутствие валидации входных параметров, в особенности пользовательского ввода. «Любой входной параметр — зло» 2. эту Необоснованный и слабозащищенный доступ к базам данных. В категорию входят такие администраторов и аутентификации, большое факторы супер-пользователей количество как: большое (root), прав количество слабая для система второстепенных администраторов и т.д. 3. Архитектура. Использование устаревших технологий, отсутствие контрольных мер, пренебрежение методологией «моделирование угроз». 4. Наследственность заведомо уязвимого кода, использование готовых решений с низким уровнем безопасности. 5. Отсутствие должного уровня абстрагированности исполняемого кода от данных. Типы SQL инъекций. Рассмотрим типы SQL инъекций эксплуатируемые утилитой SQLMap: 1. запросы Boolean Based Blind SQL InjectionМетод, при котором HTTPи ответы считываются посимвольно для обнаружения уязвимости.Как только уязвимый параметр обнаружен, SQLMap заменяет или 3 добавляет синтаксически правильные операторы SQL, ожидая реакции выполнения этого кода сервером.SQLMap сравнивает оригинальный валидный запрос с ответом от запроса с внедрённым зловредным кодом.SQLMap использует алгоритм деления пополам (bisectional algorithm) для выборки каждого символа ответа с использованием максимум семи HTTP-запросов.Там, где ответ отдаётся не в чистом тексте, SQLMap адаптирует алгоритм большими значениями для определения ответа. 2. Time-Based Blind SQL InjectionМетод Time Based сам по себе предполагает, что существует некоторое сравнение на основе времени запроса и ответа путем инъекции синтаксически правильного оператора SQL в уязвимый параметр.SQLMap использует операторы SQL, которые помещают базу данных в режим ожидания для возврата на определенное количество времени.Использует тот же алгоритм bisectional algorithm, чтобы выводить символ за символом, SQLMap сравнивает время ответа HTTP с исходным запросом. 3. Error-Based SQL InjectionSQLMap использует операторы SQL, которые могут спровоцировать генерацию специфической ошибки.Утилита ищет ошибки в HTTP-ответе сервера.Этот метод работает только в том случае, если веб-приложение настроено на раскрытие сообщений об ошибках. 4. UNION QueryВводимый SQL оператор UNION ALL SELECT.SQL-инъекция, основанная на запросах UNION, работает на основе поведения приложения, т.е. когда приложение передает результат письменного запроса SELECT через определенный цикл или строку инструкций, которые позволяют выводить выходные данные на содержимое страницы.В случае, если вывод не циклируется через какой-либо цикл for или другую строку операторов, SQLMap использует однократную инъекцию запроса UNION. 5. Stacked QueryИспользование сложенных запросов. SQLMap добавляет точку с запятой (;) в значение уязвимого параметра и добавляет 4 инструкцию SQL, которая должна быть выполнена.Используя эту технику, можно выполнять SQL-выражения, отличные от SELECT. Это полезно для манипуляции данными, получения доступа на чтение и запись и, наконец, захвата операционной системой. 6. Out-Of-BandВ этом методе используется вторичный или другой канал связи для вывода результатов запросов, запущенных в уязвимом приложении.Например, вставка выполняется в веб-приложение, а вторичный канал, такой как DNS-запросы, используется для пересылки данных обратно на домен злоумышленника. 5 СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 1. инъекцией. Празян К. А., Лачихина А. Б. Классификация атак SQLТиповые примеры классических атак //Вопросы радиоэлектроники. – 2015. – №. 10. – С. 88-93. 2. Назаров И. О. Обеспечение безопасности управления доступом и информационными потоками в web-системе на основе СУБД //Вестник Казанского государственного технического университета им. АН Туполева. – 2008. – №. 2. – С. 56-59. 3. Оладько В. С., Микова С. Ю., Нестеренко М. А. Технологии защиты интернет-технологий и web-приложений //International scientific journal. – 2015. – №. 8. – С. 81-85. 6