IPA過去問ドリル

平成26年度 春期 応用情報技術者試験 午前 問40

テクノロジ/セキュリティ

安全なWebアプリケーションの作り方について,攻撃と対策の適切な組合せはどれか。 (注:本サイトでは原問題の表を文字表記に変換しています)

出典:平成26年度 春期 応用情報技術者試験 午前 問40

正解:ア

解説

SQLインジェクション対策としては,SQL文の組立てにバインド機構である静的プレースホルダを使用し,入力値をSQL文の構造から分離することが有効である。他の選択肢は,いずれも脆弱性を悪化させる誤った対策になっている。

選択肢ごとの解説

  • 正しい。SQL文の組立てに静的プレースホルダ(バインド機構)を使用することで,入力値がSQL文として解釈されるSQLインジェクションを防止できる。
  • 誤り。任意の外部サイトのスタイルシートを取り込めるようにすると,むしろクロスサイトスクリプティングなどの攻撃を受けやすくなる。
  • 誤り。リクエストにGETメソッドを使用することは,クロスサイトリクエストフォージェリ対策にはならず,むしろ攻撃者にリクエストを偽造されやすくする。
  • 誤り。利用者ごとに固定のセッションIDを使い続けると,セッションIDが漏えいした場合に継続してなりすまされるため,セッションハイジャック対策としては不適切である。
応用情報技術者の過去問を演習モードで解く