リリースページからプリビルドのバイナリをダウンロードして実行するだけです!
| 注意: Rust がインストールされている必要があります! |
cargo を使用:
▶ cargo install ppfuzz
ソースコードから手動で実行ファイルをビルド:
▶ git clone https://github.com/dwisiswant0/ppfuzz
▶ cd ppfuzz && cargo build --release
# バイナリファイルは target/release/ppfuzz にあります
ppfuzz は chromiumoxide を使用しており、Chrome または Chromium ブラウザがインストールされている必要があります。
CHROME 環境変数が設定されている場合、それがデフォルトの実行ファイルとして使用されます。そうでなければ、google-chrome-stable、chromium、chromium-browser、chrome、chrome-browser のファイル名が標準的な場所から検索されます。それでも見つからない場合は、/Applications/Google Chrome.app/... (MacOS) またはレジストリ (Windows) が参照されます。

上記のデモ(高画質で表示するにはクリック)でわかるように、ppfuzz はオブジェクトとポインタクエリを追加することでプロトタイプ汚染の脆弱性をチェックします。もし脆弱であれば、使用されているスクリプトガジェットをフィンガープリントし、XSS、バイパス、クッキーインジェクションなどに影響を拡大させる可能性のある追加のペイロード情報を表示します。
ppfuzz の使い方はとても簡単です!
▶ ppfuzz -l FILE [オプション]
入力リストを指定するには -l/--list を使用:
▶ ppfuzz -l FILE
I/Oリダイレクトを使用してリストを提供することもできます:
▶ ppfuzz < FILE
— または、別のコマンドの出力からチェーン:
▶ cat FILE | ppfuzz
脆弱なターゲットのみを表示/エラーを抑制:
▶ ppfuzz -l FILE 2>/dev/null
サポートされているすべてのオプションは以下の通りです:
▶ ppfuzz -h
| フラグ | 説明 | デフォルト値 |
|---|---|---|
| -l, --list | 対象URLのリスト | |
| -c, --concurrency | 同時実行数を設定 | 5 |
| -t, --timeout | 接続に許可する最大時間(秒) | 30 |
| -h, --help | ヘルプ情報を表示 | |
| -V, --version | バージョン情報を表示 |
ppfuzz を始めた当初、私は Rust についてほとんど知識がなく、多くの欠点やセキュリティ上の脆弱性があると思います。したがって、あらゆる貢献を歓迎します。バグ報告や提案も歓迎します。いくつかの環境はまだテストされていません。
このツールは、私の学習手段であると同時に、@R0X4R の page-fetch を使用したプロトタイプ汚染チェックの自動化に関するヒントに触発されて作成されました。
このツールにはいくつかの貢献が含まれているため、以下の方々に公開で感謝いたします:
Fourty2#4842 (Discord) - 役立つ回避策を提供してくれました。ppfuzz は MIT ライセンスの下で配布されています。LICENSE を参照してください。