動機 • 背景 • インストール • 使用法 • fuzzuliの実行 • ツールページ
fuzzuliは、ドメインに基づいた動的なワードリストを作成することで、重要なバックアップファイルを見つけることを目的としたURLファジングツールです。
長年にわたるアプリケーションセキュリティテストの経験の中で、外部からアクセス可能なディレクトリに保存された多くの重要なバックアップファイルを見つけました。これらのファイルの命名には、一般的に好まれる単語が使用されていました(例:backup.zip、db.rar、conf.tar.gzなど)。しかし、これらのファイルのほとんどは、アプリケーションが配置されているドメイン名を使用して命名されていました。例えば、ドメインアドレスが fuzzuli.musana.net だとします。開発者が重要なバックアップファイルをアクセス可能なディレクトリに保存している場合、考えられるファイル名は次のようになります。```raw
fuzzuli.net.rar
fuzzuli.net.zip
fuzzuli.net.tar.gz
...
other file compression extensions
...
fuzzulinet.rar
fuzzulinet.zip
...
fuzzulimusana.rar
fuzzulimusana.7z
...
musana.fuzzuli.zip
musanafuzzuli.rar
...
so on
...
従来のワードリスト手法ではこれらのファイルを見つけることはできません。
# 背景
これらのファイルの命名時には、ドメイン名が参照されることがよくあります。ファイル名を付ける際に、ドメイン内のドットが削除されたり、母音が削除されたり、ドメイン名がそのまま使われるシナリオに遭遇しました。このツールを開発するにあたり、それを考慮しました。そのため、ドメインベースのワードリストを作成する際に、ドットなし、母音なし、ドットも母音もなしのバリエーションを取り入れました。そして、ドット、母音文字、およびドットと母音の両方を削除した後、ドメインは次の関数を通過します。
ドメインが**reverse メソッド**で反転された後、以下の関数を通過します。
**mixed メソッド**は各サブドメインの位置を変更します。その後、結果は以下の関数を通過します。
数式は次のようになります。

**shuffle メソッド**はサブドメインをシャッフルし、ドット、母音、およびドットと母音の両方を削除します。ドメイン文字列の各文字を反復処理しません。
**fuzzuli**は2つの主要部分で構成されています。1つは動的にワードリストを作成します。もう1つはHTTPリクエストを送信し、レスポンスをチェックしてバックアップファイルや機密ファイルを探します。
**fuzzuli**のフローチャートは以下の通りです。

**fuzzuli**はワードリスト作成に7つの異なるメソッドを使用しています。`fuzzuli.musana.net` の結果を見てみましょう。
## shuffle```bash
┌──(root㉿kali)-[/root/fuzzuli]
└─# echo https://fuzzuli.musana.net|fuzzuli -mt shuffle