SQLインジェクションは何を手掛かりに見分けるか
基本情報技術者試験 平成29年度秋期 午前 問39 / セキュリティ › 情報セキュリティ
過去問にチャレンジ
SQLインジェクション攻撃の説明はどれか。
- ア
Webアプリケーションに問題があるとき,悪意のある問合せや操作を行う命令文をWebサイトに入力して,データベースのデータを不正に取得したり改ざんしたりする攻撃
- イ
悪意のあるスクリプトを埋め込んだWebページを訪問者に閲覧させて,別のWebサイトで,その訪問者が意図しない操作を行わせる攻撃
- ウ
市販されているDBMSの脆弱性を悪用することによって,宿主となるデータベースサーバを探して感染を繰り返し,インターネットのトラフィックを急増させる攻撃
- エ
訪問者の入力データをそのまま画面に表示するWebサイトを悪用して,悪意のあるスクリプトを訪問者のWebブラウザで実行させる攻撃
会話形式の解説
講師攻撃の入口と、どこで何が起きるかを確かめましょう。SQLインジェクションでは、何が意図せず実行されますか。
受験者SQLです。Webサイトに悪意のある命令を入力して、データベースに実行させる説明を探せばよいですか。
講師そのとおりです。Webアプリケーションへの入力を通じて意図しないSQLを実行させ、データを不正に取得・改ざんする説明が正解です。
受験者悪意のあるページを見せて、別のサイトで操作させる説明も、Webを使う攻撃なので迷いました。
講師そこでは利用者に意図しない操作を行わせます。CSRFの説明であり、データベースにSQLを実行させる説明ではありません。
受験者入力した内容を表示して、訪問者のブラウザでスクリプトを動かす説明はどうですか。
講師それはXSSです。動くのは訪問者のブラウザ上のスクリプトで、データベースで実行されるSQLではありません。
受験者DBMSの脆弱性を使って感染を繰り返す説明は、データベースが出てきても別の攻撃ですね。
講師はい。感染先を探して増殖するのはワームの挙動です。Webアプリケーションへの入力を介する攻撃とは区別します。
受験者Webサイトへの入力から意図しないSQLが実行されるか、利用者の操作やブラウザでの実行、感染の繰り返しかを見れば判断できます。
まとめ
SQLインジェクションは、Webアプリケーションへの入力を介して意図しないSQLを実行させる攻撃です。この問題では、データベースの情報を不正に取得・改ざんする説明が正解です。利用者に意図しない操作を行わせるCSRF、ブラウザでスクリプトを実行させるXSS、感染を繰り返すワームとは、起きることを比べて区別します。
解答・解説
正解はアです
この問題のテーマ
SQLインジェクションを、利用者の操作を悪用する攻撃や、スクリプトを実行させる攻撃などと区別する問題です。
解き方の考え方
攻撃に使う入口と、実際に何が起きるかを確認します。Webサイトへの入力を通じて意図しないSQLを実行させ、データベースの情報を取得・改ざんする説明を選びます。
選択肢ごとの解説
- ○ア Webアプリケーションに問題があるとき,悪意のある問合せや操作を行う命令文をWebサイトに入力して,データベースのデータを不正に取得したり改ざんしたりする攻撃Webアプリケーションへの入力に悪意のある命令を紛れ込ませると、データベースに意図しないSQLを実行させることがあります。その結果としてデータの不正取得や改ざんが起きるという説明なので、SQLインジェクションに当たります。
- ×イ 悪意のあるスクリプトを埋め込んだWebページを訪問者に閲覧させて,別のWebサイトで,その訪問者が意図しない操作を行わせる攻撃悪意のあるページを見た利用者に、別のWebサイトで意図しない操作を行わせる説明です。利用者の操作を悪用するCSRFに当たり、データベースへ意図しないSQLを実行させる説明ではありません。
- ×ウ 市販されているDBMSの脆弱性を悪用することによって,宿主となるデータベースサーバを探して感染を繰り返し,インターネットのトラフィックを急増させる攻撃DBMSの脆弱性を利用して感染先を探し、増殖を繰り返す説明です。これはワームの挙動であり、Webアプリケーションへの入力を介する攻撃とは異なります。
- ×エ 訪問者の入力データをそのまま画面に表示するWebサイトを悪用して,悪意のあるスクリプトを訪問者のWebブラウザで実行させる攻撃入力内容をそのまま表示するWebサイトを利用し、訪問者のブラウザで悪意のあるスクリプトを動かす説明です。これはXSSに当たり、攻撃の対象となる実行場所がデータベースではなくブラウザです。
POINT
- SQLインジェクションは、入力を介して意図しないSQLを実行させる攻撃です。
- CSRFは利用者に意図しない操作を行わせ、XSSは利用者のブラウザでスクリプトを実行させます。
- 脆弱性を利用して感染を繰り返す挙動は、ワームの特徴です。
