
私のxssfinderツールの改良版 - URLリストに対して異なる種類のXSSをスキャンします。
これは、既に "xssfinder" として公開されている初期アイデアを基にした拡張版です。このプライベート版では、攻撃者はGETリクエストだけでなくPOSTリクエストも実行できます。さらに、すべてのリクエストをBurpまたは他のトンネルを経由してプロキシすることが可能です。
example.app-settings.conf を app-settings.conf にリネームし、設定を調整します。そのままでも動作するはずですが、ターゲットによってはチャンクサイズの調整をお勧めします。
このツールはCLI引数を必要としないため、以下のように入力するだけです。
python3 extended-xss-search.py
多くのオプションや設定が可能ですので、いくつか説明します。
メインの設定ファイルは "app-settings.conf" で、すべての設定はこのファイルで行う必要があります。それ以外にも、ヘッダー、URL、クッキーなどのより複雑なデータを設定するためのファイルがいくつかあります。
config/cookie-jar.txt
このファイルを使用してクッキー文字列を追加します。通常は各Burpリクエストに表示されるものをコピーします。"Cookie:"ヘッダーの値だけをコピーしてください。サンプル入力はデフォルトファイルにあります。
config/http-headers.txt
このファイルは、リクエストに追加され操作されるHTTPヘッダーを定義します(各ヘッダーにペイロードが追加されます)。重要なものはすでにファイルに含まれていますが、自由に追加してください。
config/parameters.txt
このツールには、GETおよびPOSTパラメータをブルートフォースするオプションがあります。その場合、それらのパラメータ(クエリ文字列内のものも含む)が使用されます。各パラメータにはペイロードが値として設定されます。重要なものはすでにそのファイルに含まれています。
config/urls-to-test.txt
これが必要なファイルです!スキャンするリンクをここに追加してください。以下の形式が許可されています:
最後のケースが検出された場合、"http://" が先頭に付加されます。このツールは適切なURLリストで動作することを想定しています。良いリストを入手する方法の1つは、Burpを使用してエクスポートすることです。そうすれば有効なURLリストが得られます。あとはクッキーを追加するだけです。
logs/
これはすべてのログが記録されるログフォルダです!
app-settings.confはプログラムのワークフローを定義します。最も重要なファイルであり、そこから異なるモジュールを有効化/無効化できます。
基本設定
HTTPTimeout
一部のリクエストは長時間かかる場合があります。ここで1リクエストの最大実行時間を定義できます。2〜6秒の値を推奨します。
MaxThreads
スレッドが多いほどスクリプトは高速になりますが、多くの接続を扱うため、私のパソコンでは10以下、VPSでは約30に抑えています。
攻撃タイプ
OnlyBaseRequest
これをtrueに設定すると、"ベースリクエスト"のみが行われます。つまり、URLリストがクロールされ、興味深いパラメータが抽出されます。これを使用して、Burpのサイトマップをすばやく埋めることができます。
UsePost
これを"false"に設定するとPOSTリクエストをスキップできます。
UseGet
同様に、"false"に設定するとGETリクエストをスキップします。
攻撃タイプ設定
GetChunkSize
1リクエストでテストするGETパラメータの数?
PostChunkSize
1リクエストでテストするPOSTパラメータの数?
トンネリング
トンネル(例: "127.0.0.1:8080" (Burp Proxy))を使用して、Burp内のすべてのトラフィックを監視することも可能です。
Active
これを"true"に設定すると、スクリプトはトンネル接続を使用するようになります。
Tunnel
ここにプロキシサーバーの"ip:port"を設定します。
結果は以下のようになります。Burpを開くとHTTP履歴を確認できます:



Issueを作成し、feature requestタグを付けてください。
このツールは気に入りましたか?バウンティを獲得するのに役立ちましたか?何か返したい/サポートしたいですか?ぜひ!