機密情報を含むデータベースエラーメッセージの生成
説明
このアプリケーションはデータベースのエラーメッセージを返すことが判明しました。データベースの種類を特定することは、攻撃者がシステムに対する SQL インジェクション攻撃を悪用するのに役立つかもしれません。デバッグメッセージは開発中やデバッグ中には役に立ちますが、エラー発生時にユーザに表示すべきではありません。
対処法
アプリケーションは内部でデータベースのエラー状態を処理し、既知のエラータイプをユーザーに表示できるエラーコードにマップする必要があります。これらのエラーコードはアプリケーションに合わせてカスタマイズされ、関連する HTTP エラーコードと共に返されるべきです。
エラーが発生すると、アプリケーションはエラーの種類やクラスを特定し、ユーザーに数値を表示します。ユーザーがエラーコードを表示されたときに、対応するリクエスト ID を持つように、リクエストも追跡されるべきです。サポートチームは、HTTPエラー、カスタマイズされたエラーコード、ログファイル内のリクエストIDを関連付けることで、エンドユーザーに詳細を漏らすことなく、エラーの根本原因を特定することができます。
カスタマイズされたエラーを返す例:
HTTP/1.1 500 Internal Server Error
...
Error [0004] Occurred, please contact support or re-try your request again shortly.
Request ID [a4bc91def12]
...
詳細
ID | 集計 | CWE | 種類 | リスク |
---|---|---|---|---|
209.2 | false | 209 | 受動的 | 低 |