Привет, кибервоины!
Это снова Залог из Украины!
В первой части этой серии мы рассмотрели различные модификации полезных нагрузок SQLMap. Сегодня мы продолжим серию статей о SQL-инъекциях, но сосредоточимся на автоматизации процесса сканирования, чтобы сэкономить время и упростить работу с большими наборами веб-сайтов. Мы будем использовать инструмент Nuclei для сканирования и несколько других инструментов для подготовки данных перед отправкой в Nuclei.
Давайте разберёмся пошагово. Кому-то это может показаться сложным, но я проведу вас через каждый этап.
Прежде чем начать сканирование, нам необходимо установить несколько инструментов.
Для установки большинства инструментов разведки, которые мы будем использовать, требуется Go (это язык программирования Google, который становится всё более популярным в кибербезопасности). Версия, указанная ниже, является последней на момент написания статьи.
Кали> wget https://go.dev/dl/go1.24.2.linux-amd64.tar.gz
кали> rm -rf /usr/local/go && tar -C /usr/local -xzf go1.24.2.linux-amd64.tar.gz
Примечание: Не распаковывайте архив в существующую папку /usr/local/go . Это может привести к сбою установки.
Теперь добавьте Go в системный путь, добавив следующую строку в /etc/profile :
кали> экспорт PATH=$PATH:/usr/local/go/bin
Обновить источник
kali> источник /etc/profile
Проверьте, работает ли он:
версия kali> go
Вы должны увидеть:
Кали > версия Go 1.24.2 Linux/AMD64
Эти инструменты помогут нам находить URL-адреса и фильтровать их по шаблонам SQLi.
kali> иди установи github.com/tomnomnom/waybackurls@latest
kali> иди установи github.com/tomnomnom/gf@latest
Затем создайте каталог для шаблонов gf и переместите их туда:
kali> mkdir ~/.gf
kali> git clone https://github.com/1ndianl33t/Gf-Patterns.git
kali> mv ~/Gf-Patterns/*.json ~/.gf
Мы воспользуемся скриптом для поиска в Google потенциально уязвимых сайтов.
Кали> wget https://raw.githubusercontent.com/coffinxp/scripts/refs/heads/main/dorking.py
Вам также следует добавить эту библиотеку, от которой зависит скрипт.
kali> pip3 install googlesearch-python
Это специальный шаблон для обнаружения SQL-инъекций:
Кали> wget https://github.com/coffinxp/nuclei-templates/blob/main/errsqli.yaml
Наконец, для редактирования вывода вам понадобится gawk. Установка проста:
kali> sudo apt install gawk
Начните с запуска скрипта dorking.py :
python3 dorking.py
Вы можете настроить дорки в скрипте по своему усмотрению или просто запустить его как есть для тестирования. Он вернёт список URL-адресов от Google, которые могут быть уязвимы.
Получив результаты, очистите их, чтобы изолировать домены:
cat id.sqli.results.txt | awk -F/ '{print $3}' | sort -u | tee id.sqli.websites.txt
Затем соберите исторические URL-адреса для каждого домена, отфильтруйте их по шаблонам SQLi с помощью gf и очистите их с помощью uro :
cat id.sqli.websites.txt | waybackurls | gf sqli | uro > output.txt
Если вы просто тестируете этот процесс или хотите получить более быстрые результаты, попробуйте использовать только один веб-сайт:
cat single.txt | waybackurls | gf sqli | uro > output.txt
В результате вы получите список потенциальных точек SQL-инъекций.
Если вы работаете с большим количеством URL-адресов, это может запутать вас. Чтобы избежать сканирования слишком большого количества похожих страниц в одном домене, отфильтруйте список, оставив только один URL-адрес на домен:
cat output.txt | gawk -F/ '{host=$3; sub(/:80$/, “”, host); if (!(host in seen)) { print $0; seen[host] } }' | tee reduced.single.output.txt
Это дает вам один надежный URL-адрес для тестирования на каждый хост.
Теперь, когда у нас есть чистый список целей, пришло время запустить фактическое сканирование:
cat reduced.single.output.txt | nuclei -t errsqli.yaml -dast
Позвольте Nuclei просмотреть каждый URL-адрес и проверить его на наличие уязвимостей SQL-инъекций, используя шаблон, который мы скачали ранее.
Поначалу результаты могут не соответствовать вашим ожиданиям. Не отчаивайтесь. Иногда цели не реагируют так, как ожидалось, а иногда инструменты пропускают важные моменты. Так и бывает. Но чем лучше вы совершенствуете свой подход, тем лучше результат.
Увидимся в третьей части, где я покажу, как одна SQL-инъекция может скомпрометировать целый сервер. А пока — ваша очередь охотиться!
Это снова Залог из Украины!
В первой части этой серии мы рассмотрели различные модификации полезных нагрузок SQLMap. Сегодня мы продолжим серию статей о SQL-инъекциях, но сосредоточимся на автоматизации процесса сканирования, чтобы сэкономить время и упростить работу с большими наборами веб-сайтов. Мы будем использовать инструмент Nuclei для сканирования и несколько других инструментов для подготовки данных перед отправкой в Nuclei.
Давайте разберёмся пошагово. Кому-то это может показаться сложным, но я проведу вас через каждый этап.
Шаг 1: Настройте свою среду
Прежде чем начать сканирование, нам необходимо установить несколько инструментов.
Установить Go (Golang)
Для установки большинства инструментов разведки, которые мы будем использовать, требуется Go (это язык программирования Google, который становится всё более популярным в кибербезопасности). Версия, указанная ниже, является последней на момент написания статьи.
Кали> wget https://go.dev/dl/go1.24.2.linux-amd64.tar.gz
кали> rm -rf /usr/local/go && tar -C /usr/local -xzf go1.24.2.linux-amd64.tar.gz
Примечание: Не распаковывайте архив в существующую папку /usr/local/go . Это может привести к сбою установки.
Теперь добавьте Go в системный путь, добавив следующую строку в /etc/profile :
кали> экспорт PATH=$PATH:/usr/local/go/bin
Обновить источник
kali> источник /etc/profile
Проверьте, работает ли он:
версия kali> go
Вы должны увидеть:
Кали > версия Go 1.24.2 Linux/AMD64
Установить Waybackurls и Gf
Эти инструменты помогут нам находить URL-адреса и фильтровать их по шаблонам SQLi.
kali> иди установи github.com/tomnomnom/waybackurls@latest
kali> иди установи github.com/tomnomnom/gf@latest
Затем создайте каталог для шаблонов gf и переместите их туда:
kali> mkdir ~/.gf
kali> git clone https://github.com/1ndianl33t/Gf-Patterns.git
kali> mv ~/Gf-Patterns/*.json ~/.gf
Установить скрипт Python Dorking
Мы воспользуемся скриптом для поиска в Google потенциально уязвимых сайтов.
Кали> wget https://raw.githubusercontent.com/coffinxp/scripts/refs/heads/main/dorking.py
Вам также следует добавить эту библиотеку, от которой зависит скрипт.
kali> pip3 install googlesearch-python
Получить шаблон ядра
Это специальный шаблон для обнаружения SQL-инъекций:
Кали> wget https://github.com/coffinxp/nuclei-templates/blob/main/errsqli.yaml
Установить gawk
Наконец, для редактирования вывода вам понадобится gawk. Установка проста:
kali> sudo apt install gawk
Шаг 2: Запуск разведки
Начните с запуска скрипта dorking.py :
python3 dorking.py
Вы можете настроить дорки в скрипте по своему усмотрению или просто запустить его как есть для тестирования. Он вернёт список URL-адресов от Google, которые могут быть уязвимы.
Шаг 3: Очистка и фильтрация результатов
Получив результаты, очистите их, чтобы изолировать домены:
cat id.sqli.results.txt | awk -F/ '{print $3}' | sort -u | tee id.sqli.websites.txt
Затем соберите исторические URL-адреса для каждого домена, отфильтруйте их по шаблонам SQLi с помощью gf и очистите их с помощью uro :
cat id.sqli.websites.txt | waybackurls | gf sqli | uro > output.txt
Если вы просто тестируете этот процесс или хотите получить более быстрые результаты, попробуйте использовать только один веб-сайт:
cat single.txt | waybackurls | gf sqli | uro > output.txt
В результате вы получите список потенциальных точек SQL-инъекций.
Шаг 4: Уменьшите шум
Если вы работаете с большим количеством URL-адресов, это может запутать вас. Чтобы избежать сканирования слишком большого количества похожих страниц в одном домене, отфильтруйте список, оставив только один URL-адрес на домен:
cat output.txt | gawk -F/ '{host=$3; sub(/:80$/, “”, host); if (!(host in seen)) { print $0; seen[host] } }' | tee reduced.single.output.txt
Это дает вам один надежный URL-адрес для тестирования на каждый хост.
Шаг 5: Сканирование с помощью ядер
Теперь, когда у нас есть чистый список целей, пришло время запустить фактическое сканирование:
cat reduced.single.output.txt | nuclei -t errsqli.yaml -dast
Позвольте Nuclei просмотреть каждый URL-адрес и проверить его на наличие уязвимостей SQL-инъекций, используя шаблон, который мы скачали ранее.
Заключительные мысли
Поначалу результаты могут не соответствовать вашим ожиданиям. Не отчаивайтесь. Иногда цели не реагируют так, как ожидалось, а иногда инструменты пропускают важные моменты. Так и бывает. Но чем лучше вы совершенствуете свой подход, тем лучше результат.
Увидимся в третьей части, где я покажу, как одна SQL-инъекция может скомпрометировать целый сервер. А пока — ваша очередь охотиться!