資格暗記無料で始める

SQLインジェクションとは?

SQLインジェクションとは、入力値がSQL文の一部として解釈されることを悪用し、意図しない検索・改ざん・認証回避を起こす攻撃。応用情報では「なぜエスケープ処理よりプレースホルダとバインド機構が確実か」が問われる。値と命令を分離できるかが本質で、入力チェックは補助策にすぎない。

応用情報技術者試験の過去問では4回出題されています(2016年度〜2024年度)。

えすきゅーえるいんじぇくしょん

応用情報技術者試験の頻出用語/テクノロジ系


SQLインジェクションの意味

入力値がSQL文の一部として解釈されることを悪用し、意図しない検索・改ざん・認証回避を起こす攻撃。応用情報では「なぜエスケープ処理よりプレースホルダとバインド機構が確実か」が問われる。値と命令を分離できるかが本質で、入力チェックは補助策にすぎない。

SQLインジェクションの具体例

ログイン画面のIDに ' OR '1'='1 を入れると条件が常に真になり、パスワード不一致でも認証を通過してしまう。対策としてプレースホルダで「?」に値を束縛すると、入力はあくまで文字列リテラルとして扱われ、引用符を含んでいてもSQL構文としては解釈されない。

SQLインジェクションは試験でどう引っ掛けられる?

「入力値の長さ制限や記号のブラックリスト除去で防げる」は誤り。文字コードの違いや想定外の記法で回避される。またWAFは多層防御の1つで、根本対策はアプリ側のバインド機構である点も混同されやすい。

SQLインジェクションと関連する用語

SQLインジェクションが出た過去問

最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。