平成24年度 秋期 午前 問40
セキュリティ
SQLインジェクションの問題
SQL インジェクションの説明はどれか。
- アWeb アプリケーションに問題があるとき,データベースに悪意のある問合せや操作を行う命令文を入力して,データベースのデータを改ざんしたり不正に取得したりする攻撃
- イ悪意のあるスクリプトを埋め込んだ Web ページを訪問者に閲覧させて,別の Web サイトで,その訪問者が意図しない操作を行わせる攻撃
- ウ市販されている DBMS の脆弱性を利用することによって,宿主となるデータベースサーバを探して自己伝染を繰り返し,インターネットのトラフィックを急増させる攻撃
- エ訪問者の入力データをそのまま画面に表示する Web サイトに対して,悪意のあるスクリプトを埋め込んだ入力データを送ることによって,訪問者のブラウザで実行させる攻撃
答えと解説を見る
✓ これが正解アWeb アプリケーションに問題があるとき,データベースに悪意のある問合せや操作を行う命令文を入力して,データベースのデータを改ざんしたり不正に取得したりする攻撃
解説
入力欄に命令文を混ぜてデータベースを操る攻撃です。
SQLインジェクションは、利用者が文字を入力する欄へ、データベースへの命令として読み取られる文字列を紛れ込ませる攻撃です。入力された文字をそのまま命令の一部として組み立てる作りになっていると、本来の条件に攻撃者の書いた条件が継ぎ足され、見えないはずの情報が取り出されたり、蓄えられている内容が書き換えられたりします。見分ける軸は一つで、その攻撃が最後にどこへ届いているかを考えます。届く先が保管されているデータなのか、閲覧している人の画面なのか、通信そのものの量なのかで、はっきり分かれます。
ほかの選択肢はなぜ違うのか
- イ悪意のあるスクリプトを埋め込んだ Web…:閲覧者に、別のサイトで自分の意図しない操作を行わせる手口の説明です。矛先が向いているのは利用者の持つ権限であって、蓄えられたデータへの命令ではありません。
- ウ市販されている DBMS の脆弱性を利用…:弱点を突いて自分の複製を広げ、通信量を急増させる種類の説明です。入力欄を突いて命令を紛れ込ませる行為とは、広がり方も狙いも異なります。
- エ訪問者の入力データをそのまま画面に表示す…:入力した内容がそのまま画面に出る作りを突き、閲覧者の側で仕込みを動かす手口です。動く場所が利用者の画面になる点が、この攻撃との違いです。
この問題の用語
- SQLインジェクション入力欄にデータベースへの命令を混ぜ込み、想定していない操作をさせる攻撃。入力をそのまま命令に組み込まないことが対策です。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
- 改ざん保管や送信の途中で、内容を許されずに書き換えること。完全性が損なわれますが、電子署名などを使えば起きたことを見つけられます。
- DBMSデータベースを管理するソフト。複数の処理が同じデータを同時に更新しても矛盾しないよう、排他制御などを行います。
- 脆弱性OSやソフトに残っている、攻撃の足掛かりになりうる弱点のこと。開発元が配る修正パッチを当ててふさぎます。
出典:平成24年度 秋期 基本情報技術者試験 午前 問40
同じ用語が出る問題
- 令和8年度 科目A 問10:CSIRTの説明(脆弱性)
- 令和6年度 科目A 問9:ペネトレーションテストの問題(改ざん)
- 令和6年度 科目A 問7:原子性に関する問題(DBMS)
- 平成30年度 春期 午前 問27(DBMS)
- 平成28年度 春期 午前 問37:SQLインジェクションの問題(SQLインジェクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)