

Plutionは、URLペイロードを介してクライアントサイドのプロトタイプ汚染に対して脆弱なページを大規模にスキャンする便利な方法です。デフォルトの設定では、ここに文書化された11のケースを検出できるハードコードされたペイロードを使用します:https://github.com/BlackFan/client-side-prototype-pollution/tree/master/pp
これは万能ツールではありません。プロトタイプ汚染は複雑な獣です。このツールは手動でできないことを何も行いません。洗練されたバグのないスーパーツールではありません。機能的ではありますが、コードは貧弱で、せいぜいアルファ版と考えるべきです。
Plutionは、提供されたURLにペイロードを追加し、ヘッドレスChromeで各URLに移動し、ページ上でJavaScriptを実行して、プロトタイプが正常に汚染されたかどうかを確認します。
基本スキャン、画面のみに出力:
cat URLs.txt | plution
ハードコードされたペイロードではなく、指定したペイロードでスキャン:
cat URLs.txt|plution -p '__proto__.zzzc=example'
カスタムペイロードに関する注意:注入したい変数は "zzzc" と呼ばれるか、そのようにレンダリングされる必要があります。これは各ページで 'window.zzzc' を実行して汚染を確認するためです。
出力:
'-o'に続けて場所を指定すると、正常に汚染されたページのURLのみが出力されます。
並行処理:
'-c'オプションを渡して、同時に実行するジョブ数を指定します(デフォルトは5)
どのようにインストールしますか?
go get -u github.com/raverrr/plution
なぜ特にwindow.zzzcが定義されているか確認するように制限しているのですか?
zzzcは短いパターンで、プロトタイプに既に存在する可能性が低いものです。JavaScriptに関してより自由度が必要な場合は、代わりに https://github.com/detectify/page-fetch を使用してください
もっと具体的な質問がありますか?
Twitter @divadbate で質問してください。