
プラグインベースの検出機能を備えたパッシブおよびアクティブなWeb脆弱性スキャナー。XSS、SQLインジェクション、コマンドインジェクション、機密ファイルの公開を検出します。プロキシモードと自動クローリング統合をサポートします。
W13scan は Python3 ベースのオープンソース Web 脆弱性発見ツールです。アクティブスキャンモードとパッシブスキャンモードをサポートし、Windows、Linux、Mac で動作します。

HTML テンプレートソースコード: w13scan-report
W13Scan を使用する前に現地の法律を遵守してください。W13Scan は教育目的でのみ提供されます。
他の専門的なスキャンツールと比較して、w13scan には独自の利点があります。
セキュリティ従事者はどのプログラムも信頼しないかもしれませんが、唯一少し信頼できるのはオープンソースコードです。
セキュリティは信頼の上に成り立ち、信頼にはオープンさと透明性が必要です。w13scan のコアコードは完全にオープンソースであり、誰でもそのコードの安全性を確認できます。
扱いにくく高度に専門化された環境に対して、w13scan の開発ドキュメントに従って機能を追加し、必要なモジュールをカスタマイズできます。
w13scan は複数のスキャンプラットフォームをテストしました。以下がテストレポートです。
usage: w13scan [options]
optional arguments:
-h, --help show this help message and exit
-v, --version Show program's version number and exit
--debug Show programs's exception
--level {1,2,3,4,5} different level use different payload: 0-5 (default 2)
Proxy:
Passive Agent Mode Options
-s SERVER_ADDR, --server-addr SERVER_ADDR
server addr format:(ip:port)
Target:
options has to be provided to define the target(s)
-u URL, --url URL Target URL (e.g. "http://www.site.com/vuln.php?id=1")
-f URL_FILE, --file URL_FILE
Scan multiple targets given in a textual file
Request:
Network request options
--proxy PROXY Use a proxy to connect to the target URL
eg:[email protected]:8080 or [email protected]:1080
--timeout TIMEOUT Seconds to wait before timeout connection (default 30)
--retry RETRY Time out retrials times.
Output:
output
--html When selected, the output will be output to the output
directory by default, or you can specify
--json JSON The json file is generated by default in the output
directory, you can change the path
Optimization:
Optimization options
-t THREADS, --threads THREADS
Max number of concurrent network requests (default 31)
--disable DISABLE [DISABLE ...]
Disable some plugins (e.g. --disable xss sqli_error
webpack)
--able ABLE [ABLE ...]
Enable some moudle (e.g. --enable xss webpack)
w13scan のインストールには Python3.6 以上が必要です。
git clone https://github.com/w-digital-scanner/w13scan.git
cd w13scan # git ディレクトリに移動
pip3 install -r requirements.txt
cd W13SCAN # ソースコードディレクトリに移動
python3 w13scan.py -h
python3 w13scan.py -s 127.0.0.1:7778 --html # ポートは省略可能、デフォルトは7778、--html を指定するとリアルタイムでHTMLレポートを生成
w13scan のパッシブモードで HTTPS をサポートさせたい場合、まず w13scan を起動し、ブラウザで http://w13scan.ca にアクセスして証明書をダウンロードし、信頼します。
-u スキャンする URL を入力
--file ファイルから URL を読み込んでスキャン
w13scan は URL のパラメータを解析しプラグインを使用してスキャンしますが、クローリングは行いません。
ディレクトリ crawlergo_example の spider.py で、crawlergo クローラーとの連携手順が示されています。
config.py のリバース接続プラットフォームに関する設定を変更します。例えば次のように変更できます。
# REVERSE
USE_REVERSE = True # リバース接続プラットフォームを使用する場合 False を True に変更
REVERSE_HTTP_IP = "127.0.0.1" # リバース HTTP IP アドレス、サーバーの IP に変更する必要があります。0.0.0.0 はプログラムが認識できないため不可
REVERSE_HTTP_PORT = 9999 # リバース HTTP ポート
REVERSE_DNS = "dnslog.w13scan.hacking8.com" # 自分のドメインに変更し、ドメインの DNS を自分の IP に設定
REVERSE_RMI_IP = "127.0.0.1" # Java RMI リバース IP、サーバーの IP に変更する必要があります。0.0.0.0 は不可
REVERSE_RMI_PORT = 10002 # Java RMI リバースポート
REVERSE_SLEEP = 5 # リバース接続後の遅延検出時間(秒)
その後、リバース接続プラットフォームを先に起動します。
python3 reverse.py
その後、w13scan を起動します。
w13scan はオープンソースであり、セキュリティ研究者が w13scan を自身のスキャナーに統合することを推奨します。
詳細は 開発ドキュメント を参照してください。
| プラットフォーム名 | スキャン結果 | スキャンモード |
|---|
| WVS PHP Vulnweb | 表示 | crawlergo + w13scan 自動スキャン |
| WVS AJAX Vulnweb | 表示 | パッシブスキャン |
| demo.aisec.cn | 表示 | パッシブスキャン |