信頼できないサイトへのURLリダイレクト(「オープンリダイレクト)
説明
このサイトでは、ユーザー入力によるオープンリダイレクトを許可していることが判明しました。オープンリダイレクトはフィッシング攻撃でよく悪用され、元のドメインやURLは正当なリンクのように見えますが、ユーザーを悪意のあるサイトにリダイレクトします。例えば、https://example.com/redirect?url=https://%62%61%64%2e%63%6f%6d%2f%66%61%6b%65%6c%6f%67%69%6e
は、デコードされるとbad.com/fakelogin
になります。
対処法
GET
リクエストで見つかったユーザー入力に基づいてクライアントをリダイレクトしてはいけません。ユーザーをリダイレクトするターゲットリンクのリストは、サーバー側にコンテナとして格納し、リダイレクトするリンクを返すインデックスとして数値を使用して取得することを推奨します。例えば、/redirect?id=1
と指定すると、アプリケーションは1
のインデックスを検索し、https://example.com
のような URL を返します。このURLは、301レスポンスコードとLocation
ヘッダを使ってユーザーをリダイレクトするために使われます。
詳細
ID | 集計 | CWE | 種類 | リスク |
---|---|---|---|---|
601.1 | true | 601 | 受動的 | 低 |