詳細情報:
B2C Commerce でのオープンリダイレクト攻撃
Web アプリケーションがユーザー入力をリダイレクト先として信頼すると、攻撃者はこの入力を使用してユーザーを自分がコントロールする Web サイトにリダイレクトし、ユーザーの情報を盗むことができます。
オープンリダイレクト攻撃の仕組み
攻撃は以下のように行われます。
- 攻撃者は買い物客が、
myshop.com/?next=evil.comなどのように、信頼できそうに見えるリダイレクトパラメーターをもつリンクを訪問するように仕向けます。 - myshop.com サイトはユーザーにログインページを返します。
- ユーザーが myshop.com のユーザー名とパスワードを入力します。
- ユーザーが sometrustedshop.com にログインします。
- ブラウザーがユーザーを evil.com に転送およびリダイレクトします。
- 攻撃者がユーザーの認証情報を盗みます。
オープンリダイレクト攻撃の緩和方法
Internet Store Markup Language (ISML) テンプレート <isredirect> 要素を使用する場合、またはユーザーが入力したデータを直接的または間接的にdw.system.Response.redirectに提供する場合は、この脆弱性を考慮してください。
以下のベストプラクティスに従ってください。
- リダイレクトを避けます。
- ローカルリダイレクトを強制します。
- ユーザーが URL を移動先として入力できないようにします。
- ユーザー入力を避けられない場合は、URL を検証します。
- すべての移動先の入力を、実際の URL ではなく、値にマッピングします。
- 入力をサニタイズするために、信頼できる URL のリストを作成します。
- ユーザーにリダイレクトについて通知し、リンクをクリックして確認するように求めます。
