SQLインジェクションとは?
SQLインジェクションとは、Webアプリケーションの入力欄に不正なSQL文の断片を注入し、データベースを不正に操作する攻撃手法。入力値の検証(サニタイジング)が不十分なアプリケーションが標的になる。
情報セキュリティマネジメント試験の過去問では3回出題されています(2016年度〜2023年度)。
えすきゅーえるいんじぇくしょん
SQLインジェクションの意味
Webアプリケーションの入力欄に不正なSQL文の断片を注入し、データベースを不正に操作する攻撃手法。入力値の検証(サニタイジング)が不十分なアプリケーションが標的になる。
SQLインジェクションの具体例
ログインフォームのID欄に特殊な文字列を入力することで、パスワードを知らなくても認証を通過してしまう、あるいはデータベースの内容を丸ごと表示させてしまう被害がある。
SQLインジェクションは試験でどう引っ掛けられる?
原因は「入力値をそのままSQL文に組み込んでしまうアプリケーションの実装不備」にあり、対策は入力値の検証やプレースホルダ(バインド機構)の使用である。
SQLインジェクションと関連する用語
SQLインジェクションが出た過去問
クライアントとWebサーバの間において、クライアントからWebサーバに送信されたデータを検査して、SQLインジェクションなどの攻撃を遮断するためのものはどれか。
正解:WAF
要点:WAFはHTTPの中身を検査してWebアプリへの攻撃を遮断する
WAF(Web Application Firewall)は、HTTPリクエストの中身を解析し、SQLインジェクションやクロスサイトスクリプティングなど、Webアプリケーションの脆弱性を突く攻撃パターンを検出して遮断する。通常のファイアウォールが見ないアプリケーション層のデータを検査する点が特徴である。
出典:平成28年度 春期 情報セキュリティマネジメント試験 午前 問13(IPA)WAFの説明はどれか。
正解:Webサイトに対するアクセス内容を監視し,攻撃とみなされるパターンを検知したときに当該アクセスを遮断する。
要点:WAFはHTTPの中身を見てアプリ層の攻撃を遮断する
WAFはWebアプリケーションへのHTTP通信の内容を検査し、SQLインジェクションやクロスサイトスクリプティングなどの攻撃に特徴的なパターンを検知したときに、その通信を遮断または無害化する仕組みである。ネットワーク層のポート単位で制御するファイアウォールでは防げない、アプリケーション層の攻撃に対処できる点が特徴である。
出典:平成30年度 春期 情報セキュリティマネジメント試験 午前 問12(IPA)Webアプリケーションにおけるセキュリティ上の脅威とその対策に関する記述のうち,適切なものはどれか。
正解:SQLインジェクションを防ぐために,Webアプリケーション内でデータベースへの問合せを作成する際にプレースホルダを使用する。
要点:SQLインジェクション対策の基本はプレースホルダの利用
SQLインジェクションは、入力値がSQL文の一部として解釈されてしまうことで起こります。プレースホルダを使って値をパラメータとして渡せば、入力内容がSQLの構文として扱われなくなるため、根本的な対策になります。脅威と対策の対応を取り違えないことがこの問題の要点です。
出典:令和5年度 (公開問題) 情報セキュリティマネジメント試験 kamokuAB 問7(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。