「Open Redirection to Reflected Cross-Site Scripting」からOpen Redirectを学ぶ

ソース:

medium.com

 

脆弱性:Open Redirect、XSS

 

訳:

ログイン機能でオープンなリダイレクトが見つかった場合、ほとんどの場合、RXSS にエスカレーションされる可能性があります。 

 

オープンリダイレクトとは何ですか?

 

アプリケーションに脆弱なリダイレクト パラメータがある場合、アプリケーションが「オープン リダイレクト」と呼ばれる指定された信頼できないページにリダイレクトされると、攻撃者は独自の信頼できない悪意のあるドメインを追加しようとし。

デフォルトでは、重大度は中程度か、簡単に実現できるものの間にあり。

 

今回のターゲットのスコープは非常に小さいため、これを https://redirect.com と呼び。

私は独自のサインアップ オプションを使用してアカウントを作成することから始めました。 

私のテストは通常​​、サインアップ ページ自体から始まり、通常のフローは HTML インジェクション、ハイパーリンク、弱いパスワード機能、サーバー側のテンプレート インジェクション レート制限などになり。

アカウントを作成した後、可能なすべてのページにアクセスし始めました。デフォルトでは、すべてのトラフィックは Burp の HTTP 履歴を通過します (インターセプトをオフに保つ)。 

数分間 Web サイトをサーフィンした後、Burpウィンドウに移動し。
プロ版にはデフォルトでグローバル検索バーがあり、そこで redir=、url=、redirect=、next= などの一般的なオープン リダイレクト キーワードを検索し始め。 
そして、最終的に ?redirection_url= というエンドポイントを見つけ。
ターゲット ドメインは次のようになります。 

 

https://redirec.com/login/?redirection_url=https%3A%2F%2Fredirect.com%2F

 

すぐに redirection_url= https%3A%2F%2Fevil.com%2F に変更し。

 

 

https://evil.com/にリダイレクトされ。

 

 

私はここで辞めたわけではありません。

 

インパクトを高めたいと思い、再度テストを開始し。

アプリケーションが URL エンコーディングを使用していることがわかり。
単に JavaScript ペイロードを作成しただけで。

 

javascript:alert(1)

 

URL パラメーターに挿入する前に、オンライン エンコーダーを使用してエンコードし。 

エンコードされたペイロードは次のようになり。

 

 

Enter を押すと、

 

 

XSSのポップアップが表示され。

 

ほなほな。