テクノロジ
SQLインジェクションとは
英語名:SQL Injection
ひとことで言うと:入力欄からデータベースへの命令を紛れ込ませ、不正な操作を行う攻撃。
意味をわかりやすく解説
Webサイトは、入力された名前などを使ってデータベースを検索することがあります。入力値をSQLというデータベースへの命令文へ直接つなぐと、攻撃者が入力欄から命令の一部を紛れ込ませられます。
紛れ込んだ命令によってログイン条件を変えたり、保存された情報を読んだり消したりする攻撃がSQLインジェクションです。値を入れる場所をあらかじめ分けるプレースホルダを使い、入力を命令として解釈させないことが基本対策です。
具体例
ログイン名をSQLへ直接連結するサイトに特殊な文字列を入力し、パスワード判定を常に真に変えて不正ログインします。
似た用語との違い
XSS
SQLインジェクションはデータベースへのSQLを操作し、XSSは閲覧者のブラウザでスクリプトを実行させます。
ITパスポートの試験ポイント
対策はプレースホルダを使うパラメータ化クエリです。入力値をSQL構文として解釈させない点を見ます。
CHECK QUESTION
入力値を文字列連結せず、SQLの値部分へ安全に渡す代表的対策は?
答えを見る
プレースホルダを使ったパラメータ化です。
この説明は分かりやすかったですか?
ITパスポートを勉強中ですか?
この用語を含む重要用語を、単語帳や4択テストで学習できます。