Предысловие
Если не умру,буду дальше развивать эту тему
Идея которая пришла мне в голову,<<А почему бы не рассказать об уязвимостях SQL?>>.Поэтому я буду рассказывать о разных уязвимостях SQLInject и также демонстрировать их.Некоторая информация была взята из открытых источников,поэтому некоторые цитаты или словосочитания могу совпадать с некоторыми статьями или с wikipedia.
В папке exaple,будут лежать примеры скриптом связанные с SQL уязвимостями,если кому интересно можете их разобрать а также добавить свои <<Все комментария и замечание я буду чиать>>
P.S Спасибо за понимание :>
Что такое SQLInject?
SQLInject - это способ взлома сайта,работающий с базами данных,основанный на внедрении в запрос произвольного SQL-кода,атаки такого типа могут дать злоумышленнику доступ к базе данных.
Например:
- Доступ к чтению и редактированию файлов
- Внедрение своих скриптов
- Выполнение произвольных команд на атакуемом сервере
Также хотел бы вас познакомить с инструментом sqlmap.Их домашняя страница https://sqlmap.org/.Мы будем разбирать работу с sqlmap,а так же его флаги,чтобы понять как пользоваться инструментом.
Sqlmap
sqlmap - это инструмент с открытым исходным кодом для тестирования на проникновение, который автоматизирует процесс выявления и эксплуатации уязвимости SQL-инъекця и захват серверов баз данных. Он поставляется с мощным движком выявления и многими нишевыми функциями для конечного тестера на проникновение, имеет широкий набор возможностей, начиная от сбора отпечатков баз данных по полученной от них данным, до доступа к файловой системе и выполнения команд в операционной системе посредством внеполосных (out-of-band) подключений.
В sqlmap находится около 150 флагов,поэтому мы будем их разбирать походу нужды.
Пример установки:
- Для Kali,Debian
На Kali Linux sqlmap установлен по умолчанию,для Debian установка выглядит следующим образом.
git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
cd sqlmap-dev/
./sqlmap.py --wizard
- Для Arch,Manjaro
Sudo pacman -S sqlmap
- Для Windows
Для работы sqlmap нам потребуется python https://www.python.org/,там есть две ветви 3.* и 2.* для корректной работы нам нужна версия 2.* (На данный момент доступна версия 2.7.18),заходим на офицальный сайт sqlmap https://sqlmap.org/ и скачиваем от туда .zip файл.
Теперь переходим в каталог с установленным Python (По дефолту он находится по пути C:\Python27) и перетаскиваем его в окно командной строки,в командной строке должен появиться полный путь к файлу,после этого дописываем к нему флаг -v.
Если у вас появилась информация о версии Python значит установка прошла нормально. После проверки открываем новую командную строку,распаковываем наш sqlmap,перетаскиваем файл python.exe в командную строку,ставим пробел и перетаскиваем наш sqlmap.py в командную строку,ставим пробел и пишим флаг -h.Должен получиться такой путь
C:\Python27\python.exe C:\Users\User\Downloads\sqlmapproject-sqlmap-6cc092b\sqlmap.py -h
Пример использования
Для начала работы с sqlmap нам нужно найти какой либо уязвимый сайт,ссылка сайта которая (возможного!!!) поддерживая уязвимости sqlinject выглядит следующим образом.Такие сайты можно найти по такому поисковому запросу (В будующем я буду пополнять ссылки).
Запрос:
index.php?id=1
Ссылка:
http://www.asfaa.org/members.php?id=1
Флаги которые используются в данном мануале:
-u URL, Целевой хост
-A --random-agent, Использование значение заголовка User-Agent
- Сканнирование удалённой системы
В качастве примеры мы будем использовать этот сайт.
http://www.asfaa.org/members.php?id=1
Первая команда сканирует удаленную систему, чтобы увидеть, уязвима ли она для внедрения sql, а затем собирает информацию о ней.
sqlmap -u http://www.asfaa.org/members.php?id=1 --random-agent
Вышеупомянутая первая и самая простая команда.Она проверяет входные параметры,чтобы определить,уязвимо ли она на внедрение sql или нет.Для этого sqlmap отправляет полезные-sql-нагрузки во входные параметры и проверяя выходные данные.