SQLインジェクションとは?
SQLインジェクションとは、入力値がSQL文の一部として解釈されることを悪用し、意図しない検索・改ざん・認証回避を起こす攻撃。応用情報では「なぜエスケープ処理よりプレースホルダとバインド機構が確実か」が問われる。値と命令を分離できるかが本質で、入力チェックは補助策にすぎない。
応用情報技術者試験の過去問では4回出題されています(2016年度〜2024年度)。
えすきゅーえるいんじぇくしょん
SQLインジェクションの意味
入力値がSQL文の一部として解釈されることを悪用し、意図しない検索・改ざん・認証回避を起こす攻撃。応用情報では「なぜエスケープ処理よりプレースホルダとバインド機構が確実か」が問われる。値と命令を分離できるかが本質で、入力チェックは補助策にすぎない。
SQLインジェクションの具体例
ログイン画面のIDに ' OR '1'='1 を入れると条件が常に真になり、パスワード不一致でも認証を通過してしまう。対策としてプレースホルダで「?」に値を束縛すると、入力はあくまで文字列リテラルとして扱われ、引用符を含んでいてもSQL構文としては解釈されない。
SQLインジェクションは試験でどう引っ掛けられる?
「入力値の長さ制限や記号のブラックリスト除去で防げる」は誤り。文字コードの違いや想定外の記法で回避される。またWAFは多層防御の1つで、根本対策はアプリ側のバインド機構である点も混同されやすい。
SQLインジェクションと関連する用語
SQLインジェクションが出た過去問
WAFの説明として,適切なものはどれか。
正解:特徴的なパターンが含まれるかなどWebアプリケーションへの通信内容を検査して,不正な操作を遮断する。
要点:WAFは通信内容を検査してWebアプリへの攻撃を遮断する
WAF(Web Application Firewall)は、Webアプリケーションへのやり取りの中身を検査し、攻撃に特徴的なパターンを含む通信を遮断する仕組みである。SQLインジェクションやクロスサイトスクリプティングなど、アプリケーション層の攻撃への対策として使われる。
出典:平成28年度 春期 応用情報技術者試験 午前 問40(IPA)WAFの説明はどれか。
正解:Webアプリケーションへの攻撃を監視し阻止する。
要点:WAFはWebアプリ層への攻撃を検知し遮断する
WAFはWebアプリケーションの前段に置き、HTTPの通信内容を検査してSQLインジェクションやクロスサイトスクリプティングなど、アプリケーション層を狙う攻撃を検知・遮断する仕組みである。ネットワーク層で通信を制御するファイアウォールでは防げない攻撃を対象とする。
出典:平成29年度 秋期 応用情報技術者試験 午前 問45(IPA)WAFの説明はどれか。
正解:Webアプリケーションへの攻撃を検知し、阻止する。
要点:WAFはHTTPを解析してWebアプリへの攻撃を検知・遮断する
WAF(Web Application Firewall)はHTTPの通信内容を解析し、SQLインジェクションやクロスサイトスクリプティングなどWebアプリケーションの脆弱性を狙う攻撃パターンを検知して遮断する。ネットワーク層で制御するファイアウォールでは防げない、アプリケーション層の攻撃に対応する点が特徴である。
出典:令和1年度 春期 応用情報技術者試験 午前 問45(IPA)WAFによる防御が有効な攻撃として、最も適切なものはどれか。
正解:REST APIサービスに対するAPIの脆弱性を狙った攻撃
要点:WAFはHTTP通信を検査するのでWeb・APIへの攻撃に有効
WAF(Web Application Firewall)は、HTTP/HTTPSの通信内容を解析してアプリケーション層の攻撃を検知・遮断する仕組みである。SQLインジェクションやクロスサイトスクリプティングのほか、HTTPで提供されるREST APIの脆弱性を突く攻撃も防御対象になる。ネットワーク層の攻撃やHTTP以外のプロトコルへの攻撃は守備範囲外である。
出典:令和6年度 春期 応用情報技術者試験 午前 問41(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。