ウェブアプリケーションの脆弱性を突くクロスサイト・スクリプティング攻撃への対策として、最も適切なものはどれか。
@ HTTPレスポンスへッダのContent-Typeフィールドに文字コード (charset) を指定する。
A ウェブアプリケーションに渡されるパラメタにSQL文を直接指定しない。
B 外部からのパラメタでウェブサーバ内のファイル名を直接指定する実装を避ける。
C シェルを起動できる言語機能を利用する場合は、その引数を構成するすべての変数に対してチェックを行い、あらかじめ許可した処理のみを実行する。
D ログイン成功後に、既存のセッションIDとは別に秘密情報を発行し、ページの遷移ごとにその値を確認する。
@
クロスサイトスクリプティング (Cross Site Scripting = XSS) は、ウェブアプリケーションにスクリプトを埋め込むことが可能な脆弱性がある場合、その脆弱性を悪用して不正なスクリプトを利用者ブラウザ上で実行する攻撃である。
@ 正しい。
A SQLインジェクションへの対策である。SQLインジェクションは、ウェブアプリケーションにDB処理の脆弱性がある場合、悪意のある命令文をDBへ送信して、DB中のデータを不正に取得したり、改ざんしたりする攻撃である。
B ディレクトリ・トラバーサルへの対策である。ディレクトリ・トラバーサルは、ウェブサイトのページを指定するパスに ../ などの細工を行うことで、本来アクセスを禁止しているディレクトリやファイルにアクセスすることである。
C OSコマンド・インジェクションへの対策である。OSコマンド・インジェクションは、ユーザからのデータ入力や操作を受付けるようなウェブサイトで、OSへのコマンドを引数に指定するなどして、不正に操作する攻撃のことである。
D セッションの発行や管理の不備をつく攻撃への対策である。
W−19 | 目次 | W−21 |