|
|
Опубликовано 17.06.2023 11:10:55
|
|
|
|

Требования: Используйте инструмент тестирования на проникновение с открытым исходным кодом sqlmap для тестирования веб-интерфейсов на риски инъекций. SQL-инъекция означает, что веб-приложение не оценивает легитимность вводных данных пользователя или фильтрация не является строгой, и злоумышленник может добавить дополнительные SQL-операторы в конец заранее определённого в веб-приложении запроса и выполнять незаконные операции без ведома администратора, чтобы обмануть сервер базы данных и заставить его выполнять несанкционированные произвольные запросы с целью дополнительного получения соответствующей информации. Короче говоря, это такИнтерфейс бэкенда выполняет SQL-операторы, объединяя запрошенные параметры。
Обзор:
SQL Map — это инструмент с открытым исходным кодом для тестирования на проникновение, который автоматизирует процесс обнаружения и эксплуатации уязвимостей SQL-инъекций, а также захватывает серверы баз данных. Он оснащён мощным движком обнаружения, многими нишевыми функциями абсолютного тестера проникновения и широким спектром коммутаторов, включая отпечатки базы данных, получение данных из баз данных, доступ к базовой файловой системе и выполнение команд на операционной системе через внеполосные соединения.
SQL Map работает сразу и работает на любой платформеВерсии Python 2.6, 2.7 и 3.x。
Построение среды SQLMAP
Скачать Python:Вход по гиперссылке виден.
Открытый исходный код адрес SQLMAP:Вход по гиперссылке виден. Документация команд SQLMAP:Вход по гиперссылке виден.
Сначала компьютеру нужно установить Python (опущено), а затем использовать команду git для загрузки исходного кода, следующим образом:
Параметры:
-h, --help Показать базовое сообщение помощи и выйти -----Показать основное сообщение помощи и выйти -hh Показать расширенное сообщение помощи и выйти----- --версия для просмотра номера версии----------- Покажите номер версии программы и выход -v VERBOSE уровень детализации (0-6, по умолчанию 1) --Уровень многословности: 0-6 (по умолчанию 1)
Цель:
Для определения целевого URL необходимо установить как минимум одну из следующих опций, а именно: Для нормального использования в команде операции SQLMap должна быть включена как минимум одна из следующих опций
-d Строка прямого подключения для прямого подключения к базе данных------------------- -u URL, --url=URL Целевой URL --------------------- Целевой URL (например, "http://www.site.com/vuln.php?id=1") -l LOGFILE Разобрать целевые цели из прокси-файла лога Burp или WebScarab ---- целевой из лог-файла Burp или другого прокси -x SITEMAPURL парсирует цель из файла удалённой карты(.xml) --Разбор целей из удалённого файла sitemap(.xml) Сканировать несколько целей, указанных в текстовом файле -------- BULKFILE -r REQUESTFILE Загрузить HTTP-запрос из файла ---------------Загрузить HTTP-запрос из файла -g GOOGLEDORK Обрабатывать результаты Google dork как целевые URL--- -c CONFIGFILE Загрузка опций из конфигурационного INI файла -------------- Загрузка опций из конфигурационного INI файла
Просьба:
Следующие параметры указывают, как подключиться к адрес-получателю
--method=METHOD Принудительное использование данного HTTP-метода (например, PUT------------------ --data=строка данных DATA, которая должна быть отправлена через POST с использованием метода POST------------------ --param-del=PARA.. Задайте символ для разделения значений параметров-------------------- Символ, используемый для разделения значений параметров --cookie=COOKIE указывает значение HTTP-файла cookie ---------------------- заголовок HTTP-файла cookie --cookie-del=COO.. Символ, используемый для разделения значений cookie------------------ При тестировании точки инъекции с помощью SQLMAP можно использовать параметр -v x для указания сложности эхо-информации, которая варьируется от [0~6] до 7 уровней, при условии по умолчанию 1.
0: Отображаются только ошибки Python вместе с критической информацией. 1: Отображать как базовую, так и предупреждающую информацию. (по умолчанию) 2: Одновременно отображайте отладочную информацию. 3: Введенная полезная нагрузка отображается одновременно. 4: Одновременно отображать HTTP-запросы. 5: Одновременно отобразить заголовок HTTP-ответа. 6: Одновременно отобразить страницу HTTP-ответа.
ASP.NET Настройка среды инъекции ядер
Создайте новый веб-проект с использованием ASP.NET Core, напишите интерфейс с инъекцией, и исходный код выглядит следующим образом:
Тестовый интерфейс:
Широко используемые тесты на проникновение
Перечислить базы данных СУБД
И используйте SQL Server Profile для фиксации выполнения SQL, как показано на следующем рисунке:
выбрать * из [Пользователи], где [Имя пользователя] = 'itsvse' ОБЪЕДИНЕНИЕ ВСЕ ВЫБЕРЕТЕ NULL,NULL,CHAR(113)+CHAR(98)+CHAR(122)+CHAR(118)+CHAR(113)+(ВЫБРАТЬ имя от мастера.. sysdatabases FOR JSON AUTO, INCLUDE_NULL_VALUES)+CHAR(113)+CHAR(113)+CHAR(118)+CHAR(120)+CHAR(113)-- yHIm'
Перечислите таблицы указанной базы данных
Команда следующая:
Для сложных HTTP-запросов вы можетес помощью параметра -r(Загрузка HTTP-запросов из файлов,Используйте инструмент Burp Suite для захвата HTTP-запросов пакетов) для загрузки исходного HTTP-запроса из текстового файла. Это позволяет пропустить использование многих других опций (например, настройки cookie, опубликованные данные и т.д.).
SQL Map — мощный вариант, см. документацию для более продвинутых функций. (Конец)
|
Предыдущий:EF 6 выполняет нативные SQL-операторы, задачи инъекции параметровСледующий:[Transfer] в MySQL Advanced: команда optimize table
|