SQLインジェクションとは?えすきゅーえるいんじぇくしょん
SQLインジェクションとは、Webサイトの入力欄に、データベースへの命令(SQL文)を紛れ込ませて送信し、データベースを不正に操作・閲覧・破壊する攻撃手法。入力された値に危険な文字が含まれていないかを確かめて無害にする処理(サニタイジング)が不十分なWebアプリが狙われる。
最終更新:2026-10-10
この語が出る過去問を解く →背景
Webサイトの入力欄は、利用者が名前やIDを打ち込むためのものだが、サイトによっては、その入力がデータベースへの命令(SQL文)の一部として裏で使われている。打ち込まれたものが単なる文字ではなく命令として動いてしまうと、見せるはずのない情報が引き出される。入力と命令を分けて扱う必要が出てきた。
具体例
ログインフォームのID欄に特殊な文字列を入力することで、パスワードを知らなくても認証を突破されたり、データベースの内容を丸ごと盗み出されたりすることがある。
試験での引っ掛け
XSS(クロスサイトスクリプティング)との区別が定番。狙いがデータベースの操作ならSQLインジェクション、閲覧者のブラウザで不正なプログラムを動かすならXSS。対策は入力値の検証や、入力を命令ではなくただの値として扱わせるプレースホルダという書き方で、通信の暗号化や通常のファイアウォールでは防げない。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成27年度 春期 ITパスポート試験 問58(IPA)解説で登場
出典:平成28年度 秋期 ITパスポート試験 問83(IPA)解説で登場
情報システムに対する攻撃のうち,あるIDに対して所定の回数を超えてパスワードの入力を間違えたとき,当該IDの使用を停止させることが有効な防衛手段となるものはどれ…
正解:総当たり攻撃
要点:総当たり攻撃にはアカウントロックが有効
総当たり攻撃は、考えられるパスワードを次々に試して正解を探す手口なので、誤入力が一定回数続いたらアカウントを停止する仕組みが有効に働く。DoS攻撃やSQLインジェクション、フィッシングは、いずれもパスワードの試行回数制限とは対策の性質が異なる。
出典:平成28年度 春期 ITパスポート試験 問64(IPA)
SQLインジェクションの対策などで用いられ、処理の誤動作を招かないように、利用者がWebサイトに入力した内容に含まれる有害な文字列を無害な文字列に置き換えること…
正解:サニタイジング
要点:サニタイジングは特殊文字を無害化し不正な解釈を防ぐ
サニタイジングは、利用者が入力した文字列のうち、プログラムやデータベースに特別な意味を持つ記号を無害な表現へ置き換える処理である。これにより入力がSQL文やHTMLの一部として解釈されるのを防ぎ、SQLインジェクションやクロスサイトスクリプティングを防げる。ストリーミングは配信方式、テザリングは端末経由の通信共有、リバースエンジニアリングは製品の解析技法である。
出典:令和6年度 秋期 ITパスポート試験 問90(IPA)解説で登場
セキュリティ対策として使用されるWAFの説明として、適切なものはどれか。
正解:ECなどのWebサイトにおいて、Webアプリケーションソフトウェアの脆弱性を突いた攻撃からの防御や、不審なアクセスのパターンを検知する仕組み
要点:WAFはWebアプリの脆弱性を突く攻撃を検知・遮断する
WAFはWebアプリケーションに特化した防御の仕組みで、通信内容を検査してSQLインジェクションやクロスサイトスクリプティングなど脆弱性を突く攻撃を遮断し、不審なアクセスパターンを検知します。通信の宛先やポートだけを見る一般的なファイアウォールより上位の層(通信の中身に近い、より上の段階)を見る点が特徴です。
出典:令和8年度 秋期 ITパスポート試験 問95(IPA)
SQLインジェクションの対策などで用いられ、処理の誤動作を招かないように、利用者がWebサイトに入力した内容に含まれる有害な文字列を無害な文字列に置き換えること…
正解:サニタイジング
要点:サニタイジングは特別な意味を持つ文字を無害化する処理
サニタイジングは、利用者が入力した文字列のうちプログラムに特別な意味を持つ記号を、無害な表現へ置き換える処理である。これによりSQL文やHTMLの構造が意図せず書き換えられることを防ぎ、SQLインジェクションやクロスサイトスクリプティングを抑止できる。入力値の検証と並ぶ基本的なWebアプリケーション対策である。
出典・参考
公式シラバスの9 技術要素 > 61. 情報セキュリティ > (4) 攻撃手法に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。