fuzz について
fuzzは、ffufを使った軽量なWebアプリケーションのファジングスキルです。セキュリティテスト担当者向けに、パス、APIエンドポイント、パラメーター、サブドメインを探索し、レスポンスのフィルタリングやJSON出力にも対応します。
主な機能
- 01ディレクトリとファイルの探索
- 02APIエンドポイントの探索
- 03GET・POSTパラメーターのファジング
- 04サブドメインの列挙
- 05ステータスや内容によるレスポンスの絞り込み
- 06結果のJSON出力
活用シーン
- 01非公開のWebパスやファイルの発見
- 02ワードリストを使ったAPIルートの調査
- 03Webパラメーターやログイン入力のテスト
- 04サブドメインの列挙とスキャン結果の保存
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ ariadoss/ superskills --skill fuzzインストール後、Claude Code で/fuzzを入力して読み込まれたか確認します。
詳細
Fuzz — ffuf による Web ファジング
ffuf を使用した、軽量な Web アプリケーションのファジングです。
前提条件
command -v ffuf && ffuf -V
インストールされていない場合:
brew install ffuf # macOS
# or
go install github.com/ffuf/ffuf/v2@latest
よく使用するワードリスト
/usr/share/wordlists/ # Kali default
/opt/homebrew/share/wordlists/ # Homebrew
~/.local/share/wordlists/ # User-local
# SecLists (install: brew install seclists)
/opt/homebrew/share/seclists/Discovery/Web-Content/common.txt
/opt/homebrew/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt
/opt/homebrew/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt
/opt/homebrew/share/seclists/Fuzzing/LFI/LFI-Jhaddix.txt
ワードリストが見つからない場合:brew install seclists
使用パターン
ディレクトリ/ファイルの検出
ffuf -u https://TARGET/FUZZ -w wordlist.txt -mc 200,301,302,403
API エンドポイントの検出
ffuf -u https://TARGET/api/FUZZ -w wordlist.txt -mc 200,401,403,405
パラメーターのファジング(GET)
ffuf -u "https://TARGET/page?FUZZ=value" -w params.txt -mc 200 -fs 4242
POST データのファジング
ffuf -u https://TARGET/login -X POST \
-d "username=admin&password=FUZZ" \
-w passwords.txt -mc 200 -fc 401
サブドメインの列挙
ffuf -u https://FUZZ.TARGET.com -w subdomains.txt -mc 200,301,302
認証付きファジング
ffuf -u https://TARGET/api/FUZZ -w wordlist.txt \
-H "Authorization: Bearer <token>" \
-H "Cookie: session=<value>" \
-mc 200,201,403
フィルタリングオプション
-mc 200,301— HTTP ステータスコードに一致-fc 404,500— ステータスコードをフィルター(除外)-fs 4242— レスポンスサイズでフィルター(ノイズを除去)-fw 12— 単語数でフィルター-fr "not found"— レスポンス内の正規表現でフィルター
出力
ffuf -u https://TARGET/FUZZ -w wordlist.txt -o results.json -of json
ヒント
- 小さなワードリストから始め、必要に応じて拡張します
-rate 100を使用して、1 秒あたりのリクエスト数を制限します(DoS を回避)-t 40を使用してスレッド数を指定します(デフォルト:40)- フィルターなしで一度実行し、一般的なレスポンスサイズを確認してから
-fsを追加します -recursion -recursion-depth 2と組み合わせると、再帰的に検出できます
コメント
Markdown 対応