Злоумышленники пользуются пренебрежением к проверке ввода данных пользователем в веб-приложениях и включают во входные данные символы или команды, которые имеют особое значение для определенных систем баз данных, давая злоумышленникам возможность напрямую выдавать инструкции внутренней системе баз данных, тем самым достигая полного контроля над серверная часть. Вторжение в базу данных или даже всю систему приложения.
Сервер не фильтрует вредоносные данные, введенные пользователем, и напрямую выполняет введенные пользователем данные в виде оператора SQL, тем самым влияя на безопасность базы данных и платформы.
Необходимо выполнить два условия:
Передавая параметры по имени пользователя ' or 1 = 1 -- Войдите с универсальным паролем
SELECT username, password FROM users WHERE имя пользователя = 'входное значение' or 1=1-- ' AND пароль = 'Введите значение 2'
(Уведомление: -- После него есть пробел)
На данный момент входными символами являются:
Фактический код запроса:
SELECT * FROM users WHERE username= ' ' or 1=1 -- AND password = 'anything'
Как определить, содержит ли HTTP-запрос SQL-инъекцию
and1=1 ; and 2>1 ; or 1=1 ; or 1<1
sleep(4)=1 ;length(user())>3
одинарная кавычка( ' ) ; двойные кавычки ( " )
Входные параметры являются целыми числами,Например, идентификатор, возраст, номер страницы и т. д.,Если есть инъекционная уязвимость,Тогда это Числовой тип (целочисленный) ввод。
http://www.testweb.com/user.php?id=8
Фактический прототип кода запроса выглядит следующим образом:
select ... from ... where id=$id ..
Метод инъекционного испытания:
Обычно входные параметры имеют строковый тип.,Отличие от цифрового впрыска заключается в том, что,Внедрение символов Обычно используйтеодинарная кавычказакрыть。
http://www.testweb.com/test.php?user=admin
Фактический прототип кода запроса выглядит следующим образом:
select ... from ... where id='$id' ...
Внедрение символов Метод испытания:
Этот тип внедрения в основном относится к отказу от фильтрации параметров поиска при выполнении поиска данных. Обычно в адресе ссылки есть «ключевое слово = ключевое слово». Некоторые не отображают адрес ссылки, а отправляют его непосредственно через форму окна поиска.
Прототип оператора SQL, представленного этим типом точки внедрения, выглядит примерно так:
select * from имя таблицы where Поле like '%ключевое слово%'
Когда мы отправляем параметры впрыска, keyword= ' и условия запроса and '%'=' , поэтому оператор SQL, отправленный в базу данных, имеет следующий вид:
select * from имя таблицы where Поле like '%' and [условия запроса] and '%'='%'
Вызвано динамической конструкцией строк.
Проблемы на заднем плане
Неправильная обработка ошибок
Небезопасная конфигурация базы данных
SOL Server использует «sa» в качестве учетной записи системного администратора базы данных;
MySQL использует «корневые» и «анонимные» учетные записи пользователей;
Oracle обычно создает учетные записи SYS, SYSTEMS DBSNMP и OUTLN по умолчанию при создании базы данных.
Системным администраторам и администраторам баз данных разрешено выполнять операции от имени root-пользователя системы или администратора привилегированной системной учетной записи при установке сервера базы данных. Они всегда должны запускать службы на сервере как обычный пользователь, уменьшать права пользователя и ограничивать права пользователя только этой службой. .
?text=value1&cat=value2&num=value3....
POST — это метод HTTP, используемый для отправки информации на веб-сервер. Информация о данных не может быть видна в URL-адресе. Могут быть отправлены данные размером до байтов.
Пока серверная часть получает данные, вводимые внешним интерфейсом, не фильтрует данные и, наконец, напрямую поступает в базу данных, это может представлять угрозу.
Метод внедрения на основе запроса объединения (unionselect).
(1) Инструменты внедрения SQL: Sqlmap, Havij, Sqlid.
(2) Инструменты внедрения ASP\JSP: NBSI, программное обеспечение для внедрения Mingxiaozi, программное обеспечение для внедрения AD.
(3) Инструменты для внедрения PHP: программное обеспечение для внедрения Pangolin, лучшее программное обеспечение для внедрения Haiyang
Некоторые изображения в этой статье взяты из учебного курса для сертифицированных инженеров службы безопасности Sangfor. Они предназначены для удобства личного изучения и использования и не предназначены для коммерческого использования! ! ! ! Текстовый контент набран лично мной, а не перенесен напрямую! Если есть какие-либо нарушения, пожалуйста, свяжитесь с нами, чтобы удалить их! ! !
Информация, представленная в этом документе, предназначена только дляОбразовательные цели и тестирование на проникновение с явным разрешением。Любое несанкционированное использование технической информации, содержащейся в этом документе, строго запрещено.,И может нарушать «Сетевой закон Китайской Народной Республики» и связанные с ним законы и правила. Пользователи должны использовать полученные знания законным и соответствующим требованиям образом.,Он не может использоваться для незаконного вторжения, разрушения информационных систем и других злонамеренных действий. Мы настоятельно рекомендуем всем читателям соблюдать местные законы и этические правила.,Исследуйте информационные технологии в пределах правовых границ.