ソース:https://cyberweapons.medium.com/open-redirection-to-reflected-cross-site-scripting-6ed2d55a4af6
訳:
ログイン機能でオープンなリダイレクトが見つかった場合、ほとんどの場合、RXSS にエスカレーションされる可能性がありまーす。
オープンリダイレクトとは何ですか?
アプリケーションに脆弱なリダイレクト パラメータがある場合、アプリケーションが「オープン リダイレクト」と呼ばれる指定された信頼できないページにリダイレクトされると、攻撃者は独自の信頼できない悪意のあるドメインを追加しようとし。
今回のターゲットのスコープは非常に小さいため、これを https://redirect.com と呼びま。
私は独自のサインアップ オプションを使用してアカウントを作成することから始め。
私のテストは通常、サインアップ ページ自体から始まり、通常のフローは HTML インジェクション、ハイパーリンク、弱いパスワード機能、サーバー側のテンプレート インジェクション レート制限などになり。
アカウントを作成した後、可能なすべてのページにアクセスし始め。デフォルトでは、すべてのトラフィックは Burp の HTTP 履歴を通過します (インターセプトをオフに保つ)。
数分間 Web サイトをサーフィンした後、Burpウィンドウに移動しました。プロ版にはデフォルトでグローバル検索バーがあり、そこで redir=、url=、redirect=、next= などの一般的なオープン リダイレクト キーワードを検索し始めました。
そして、リダイレクト パラメータを持つ URL を見つけることになり、最終的に。?redirection_url=を。ターゲット ドメインは次のようになります。
https://redirec.com/login/?redirection_url=https%3A%2F%2Fredirect.com%2Fprofile
すぐに、redirection_url=https%3A%2F%2Fevil.com%2F に変更しました。
(デコードすると、https://evil.com/ )
攻撃者サイトのURLを追加する
次にアプリケーションにログインすると、https://evil.com にリダイレクトされました。
ドーン!!
前に述べたように、オープン リダイレクトは簡単に実現できる成果で。
私はここで辞めたわけではありません。
インパクトを高めたいと思い、再度テストを開始しました。
アプリケーションが URL エンコーディングを使用していることがわかりました。
単に JavaScript ペイロードを作成しただけです。
ペイロード: javascript:alert(1)
URL パラメーターに挿入する前に、オンライン エンコーダーを使用してエンコードしました。
Enterを押すと!!
次に、XSS ポップアップが表示されました。
ほなほな。