Big Redirect Detected (Potential Sensitive Information Leak)
「Big Redirect Detected (Potential Sensitive Information Leak)」のアラートを解消するための具体的な手順は以下の通りです:
1. リダイレクトの制限
- 目的: 不要なリダイレクトを避け、リダイレクトの回数を最小限に抑える。
- 手順: サイト内のリダイレクトを見直し、必要性が低いものは削除する。例えば、HTTPからHTTPSへのリダイレクトのみを許可し、それ以外の不必要なリダイレクトを防ぐ。
2. URLパラメータのサニタイズ
- 目的: URLパラメータに機密情報が含まれないようにする。
- 手順: URLパラメータを適切にエンコードし、サニタイズする。例えば、ユーザーIDやトークンなどの機密情報がURLパラメータに含まれていないか確認し、必要に応じてこれらの情報をPOSTリクエストなどで送信する。
3. HTTPSの使用
- 目的: リダイレクトが行われる際のデータ通信を暗号化する。
- 手順: すべてのリダイレクトがHTTPSを使用するように設定する。例えば、サーバー設定やアプリケーションコードでHTTPリクエストを自動的にHTTPSにリダイレクトするように設定する。
4. サーバー設定の確認
- 目的: サーバー設定が適切であり、データ漏洩のリスクがないことを確認する。
- 手順: サーバーのリダイレクト設定を確認し、リダイレクト先のURLが正しく設定されていることを確認する。特に、内部情報やデバッグ情報がリダイレクトURLに含まれていないか確認する。
5. 適切なヘッダーの設定
- 目的: セキュリティヘッダーを設定し、リダイレクト時のセキュリティを強化する。
-
手順: 以下のヘッダーを設定することで、リダイレクト時のセキュリティを向上させる。
-
X-Frame-Options: DENY
またはSAMEORIGIN
でクリックジャッキングを防ぐ。 -
Content-Security-Policy
ヘッダーでリソースの読み込み先を制限し、スクリプトインジェクションを防ぐ。 -
Strict-Transport-Security
ヘッダーでHTTPSのみを強制する。
-
例
Header set X-Frame-Options "DENY"
Header set Content-Security-Policy "default-src 'self'; script-src 'self' https://trusted.cdn.com; style-src 'self' https://trusted.cdn.com;"
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"
これらの手順を実行することで、OWASP ZAPが報告する「Big Redirect Detected (Potential Sensitive Information Leak)」アラートを解消し、リダイレクトによる潜在的な機密情報漏洩を防ぐことができます。