資格暗記無料で始める

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

SQLインジェクションとは、入力欄にSQLの断片を紛れ込ませ、データベースへ想定外の命令を実行させる攻撃です。情報の不正取得・改ざん・削除や認証の回避につながります。根本対策はプレースホルダ(バインド機構)を使い、値とSQL文を分離することです。

基本情報技術者試験の過去問では8回出題されています(2016年度〜2025年度)。

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

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


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

入力欄にSQLの断片を紛れ込ませ、データベースへ想定外の命令を実行させる攻撃です。情報の不正取得・改ざん・削除や認証の回避につながります。根本対策はプレースホルダ(バインド機構)を使い、値とSQL文を分離することです。

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

ログイン画面のID欄に「' OR '1'='1」を入れると条件が常に真になり、パスワードを知らなくても通過してしまう実装があります。エラーメッセージを詳細に出す設定だと、テーブル構造まで攻撃者に手掛かりを与えます。

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

対策として「入力文字数を制限する」「クライアント側のJavaScriptで検証する」は不十分です。クライアント検証は迂回できます。またDBの実行アカウント権限を絞るのは被害軽減策であり、根本対策ではありません。

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

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

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