本文へ移動
合格ノート.
ITパスポート
ITパスポート用語一覧を見る
テクノロジ

SQLインジェクションとは

英語名:SQL Injection

ひとことで言うと:入力欄からデータベースへの命令を紛れ込ませ、不正な操作を行う攻撃。

意味をわかりやすく解説

Webサイトは、入力された名前などを使ってデータベースを検索することがあります。入力値をSQLというデータベースへの命令文へ直接つなぐと、攻撃者が入力欄から命令の一部を紛れ込ませられます。

紛れ込んだ命令によってログイン条件を変えたり、保存された情報を読んだり消したりする攻撃がSQLインジェクションです。値を入れる場所をあらかじめ分けるプレースホルダを使い、入力を命令として解釈させないことが基本対策です。

具体例

ログイン名をSQLへ直接連結するサイトに特殊な文字列を入力し、パスワード判定を常に真に変えて不正ログインします。

似た用語との違い

XSS

SQLインジェクションはデータベースへのSQLを操作し、XSSは閲覧者のブラウザでスクリプトを実行させます。

クロスサイトスクリプティング

攻撃される実行先がデータベースかブラウザかの違い

SQLインジェクションとXSSの違いを詳しく見る

ITパスポートの試験ポイント

対策はプレースホルダを使うパラメータ化クエリです。入力値をSQL構文として解釈させない点を見ます。

CHECK QUESTION

入力値を文字列連結せず、SQLの値部分へ安全に渡す代表的対策は?

答えを見る

プレースホルダを使ったパラメータ化です。

この説明は分かりやすかったですか?

ITパスポートを勉強中ですか?

この用語を含む重要用語を、単語帳や4択テストで学習できます。