セキュリティ

令和6年度 基本情報技術者試験 科目A 公開問題 問10

SQL インジェクションの対策として,有効なものはどれか。
  • ア URL を Web ページに出力するときは,“http://”や“https://”で始まる URL だけを許可する。
  • イ 外部からのパラメータで Web サーバ内のファイル名を直接指定しない。
  • ウ スタイルシートを任意の Web サイトから取り込めるようにしない。
  • エ プレースホルダを使って命令文を組み立てる。

出典:令和6年度 基本情報技術者試験 科目A 公開問題 問10

答えと解説を見る

正解:エ

覚える知識

SQLインジェクション対策(プレースホルダ)

プレースホルダは SQL 文の骨格と値を分けて処理させ、入力値による SQL の改変を防ぐ。

この問題で必要なこと

SQL 文を文字列連結で組み立てず、プレースホルダ(バインド変数)に値を後から割り当てることで、入力が SQL 構文として解釈されるのを防ぐ。

ひっかけ

ア、イ、ウは他の攻撃(不正な URL スキーム経由の攻撃、ディレクトリトラバーサル、スタイルシートを悪用する攻撃)の対策で、SQL とは無関係である。

この知識の出題:本試験系 1 回・免除試験 8 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「Webアプリケーションへの攻撃と対策」で学ぶ

同じ知識の過去問