平成22年度 春期 午前 問43
セキュリティ
SQLインジェクションの説明
SQL インジェクションの説明はどれか。
- アWeb アプリケーションに悪意のある入力データを与えてデータベースの問合せや操作を行う命令文を組み立てて,データを改ざんしたり不正に情報取得したりする攻撃
- イ悪意のあるスクリプトが埋め込まれた Web ページを訪問者に閲覧させて,別の Web サイトで,その訪問者が意図しない操作を行わせる攻撃
- ウ市販されているデータベース管理システムの脆弱性を利用して,宿主となるデータベースサーバを探して自己伝染を繰り返し,インターネットのトラフィックを急増させる攻撃
- エ訪問者の入力データをそのまま画面に表示する Web サイトに対して,悪意のあるスクリプトを埋め込んだ入力データを送り,訪問者のブラウザで実行させる攻撃
答えと解説を見る
✓ これが正解アWeb アプリケーションに悪意のある入力データを与えてデータベースの問合せや操作を行う命令文を組み立てて,データを改ざんしたり不正に情報取得したりする攻撃
解説
入力が命令文に化けてデータベースを操られる攻撃です。
攻撃の名前を尋ねる設問は、被害の大きさや手口の派手さではなく、何が注入され、それがどこで動くのか、という二点だけで決まります。この二点を先に決めてから説明文を読むと、似た書き出しに惑わされません。SQL インジェクションは、利用者が入れた文字列が、そのままデータベースへの命令文の一部として連結されてしまう作りを突く攻撃です。入力に命令文の区切りを混ぜると、本来ひとつの条件だったはずのものが別の意味をもつ命令へ化けます。動く場所はデータベースを預かるサーバであり、その結果としてデータを書き換えられたり、本来見せるはずのない情報を取り出されたりします。正解は、悪意のある入力から問合せや操作の命令文を組み立てさせる、と述べた説明です。要点は、データのつもりで渡した入力が命令として読まれることにあります。だから備えも、入力を目で見て弾くことではなく、値と命令をあらかじめ別々に扱う仕組みを使って、混ざりようのない形にすることが中心になります。
ほかの選択肢はなぜ違うのか
- イ悪意のあるスクリプトが埋め込まれた We…:閲覧させたうえで、別のサイトで本人の意図しない操作をさせる手口です。仕掛けが働く先は利用者がログイン済みの他のサイトなので、狙われる場所そのものが異なります。
- ウ市販されているデータベース管理システムの…:管理システムの弱点を突いて宿主となるサーバを探し、自ら増え広がって通信量を急増させるものです。人手を介さず増える不正プログラムの説明で、特定の相手を狙う話ですらありません。
- エ訪問者の入力データをそのまま画面に表示す…:入力をそのまま画面に出す作りを悪用し、仕込んだ命令の断片を訪問者のブラウザで動かす手口は、クロスサイトスクリプティングと呼ばれます。実行されるのは被害者の手元です。
この問題の用語
- クロスサイトスクリプティング出力処理の不備を突き、利用者のブラウザで攻撃者のスクリプトを動かす攻撃です。防ぐには、出力する文字を無害な形に置き換えます。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
- 改ざん保管や送信の途中で、内容を許されずに書き換えること。完全性が損なわれますが、電子署名などを使えば起きたことを見つけられます。
- 脆弱性OSやソフトに残っている、攻撃の足掛かりになりうる弱点のこと。開発元が配る修正パッチを当ててふさぎます。
出典:平成22年度 春期 応用情報技術者試験 午前 問43
同じ用語が出る問題
- 令和7年度 秋期 午前 問45:デジタル署名に関する問題(改ざん)
- 令和7年度 秋期 午前 問43:ポートスキャンに関する問題(脆弱性)
- 令和7年度 春期 午前 問40:SBOMに関する問題(改ざん)
- 令和7年度 春期 午前 問36:脆弱性に関する問題(クロスサイトスクリプティング)
- 平成30年度 秋期 午前 問41(クロスサイトスクリプティング)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)