このツールは、指定されたWebサイトに対して基本的なSQLインジェクションとクロスサイトスクリプティング(XSS)の脆弱性スキャンを実行するPythonスクリプトです。
学習目的や、小規模なWebアプリケーションの初期診断に適しています。
- このツールは簡易スキャナです。高度な脆弱性検出機能はありません。
- スキャンを行う際は、必ず対象サイトの所有者の許可を得てください。
- 許可なきスキャンは法的問題を引き起こす可能性があります。
-
SQLインジェクションスキャン
URLパラメータやフォーム入力に対して基本的なSQLエラーメッセージを検出します。 -
XSSスキャン
URLパラメータやフォーム入力に対して単純なXSSペイロードの反映を検出します。 -
選択的スキャン
--sql
または--xss
オプションを使って、特定のスキャンのみ実行可能です。 -
詳細出力
--verbose
または-v
オプションで詳細な進行状況を表示します。 -
JSON出力
--output-json <ファイル名>
オプションで結果をJSON形式で保存できます。 -
カラー出力
colorama
による色分けで視認性が向上しています。
- Python 3.x
- requests
- beautifulsoup4
- colorama
pip install -r requirements.txt
または個別にインストールする場合:
pip install requests beautifulsoup4 colorama
vulnerability_scanner.py をダウンロードまたはクローンしてください。
git clone https://github.com/tamagomata/vulnerability_scanner.git
cd vulnerability_scanner
pip install -r requirements.txt
ターミナルでスクリプトのあるディレクトリへ移動します。
以下のように実行してください。
python vulnerability_scanner.py --url [OPTIONS]
例:
基本スキャン(SQLとXSS両方):
python vulnerability_scanner.py --url http://testphp.vulnweb.com/search.php?test=query
SQLスキャンのみ、詳細出力付き:
python vulnerability_scanner.py --url http://testphp.vulnweb.com/listproducts.php?cat=1 --sql --verbose
XSSスキャンのみ、結果をJSONファイルに保存:
python vulnerability_scanner.py --url http://testphp.vulnweb.com/search.php?test=query --xss --output-json results.json
基本スキャン(SQLとXSS両方)の結果例(スクリーンショット):
-u, --url <URL>
(必須)
スキャン対象URLを指定します。
--sql
SQLインジェクションスキャンのみを実行します。
--xss
XSSスキャンのみを実行します。
--output-json <ファイルパス>
結果をJSONファイルに保存します。
-v
, --verbose
詳細な進行状況を表示します。
許可されたサイトにのみ使用してください。
このツールは基本的な脆弱性のみ検出します。詳細な診断には専門ツールを推奨します。
過度なスキャンは対象サイトに負荷をかけるため控えてください。
MIT License (詳細はLICENSEファイルを参照してください)