NWネットワークスペシャリスト試験 午前Ⅱ

平成27年度秋期 ネットワークスペシャリスト 午前Ⅱ 問20

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

Webアプリケーションの脆弱性を悪用する攻撃手法のうち,Webページ上で入力した文字列がPerlのsystem関数やPHPのexec関数などに渡されることを利用し,不正にシェルスクリプトや実行形式のファイルを実行させるものは,どれに分類されるか。

選択肢

  1. ア
    HTTPヘッダインジェクション
  2. イ
    OSコマンドインジェクション
  3. ウ
    クロスサイトリクエストフォージェリ
  4. エ
    セッションハイジャック
解き方のヒントを見る

ネットワーク用語を比較する視点

選択肢の語句をそのまま覚えるのではなく、用語が示す対象、役割、利用される場面、他の概念との境界を同じ基準で見比べ、説明の中心が何かを整理してから判断しましょう。表現の細部に引きずられず、定義の軸を揃えて読むことが大切です。

この問題で問われていること

今回の確認では、各選択肢が説明している対象と役割の対応関係に焦点を置きます。誰が、何を、どの範囲で扱う説明なのかを整理し、似た用語との差分を断定せずに比較してください。

視点

用語の説明を読む際は、対象、目的、役割、適用範囲という観点を揃えて比較します。似た表現でも、説明の中心となる観点が異なる場合があるため、文全体の関係を確認しましょう。

確認ポイント

  • 説明の対象が何を指しているかを確認する
  • 用語に結び付けられた役割や目的を整理する
  • 適用範囲と他の概念との境界を比べる
正解と解説を見る

正解

イ

解説

Perlのsystem関数やPHPのexec関数などを介して、入力文字列によってシェルスクリプトや実行形式ファイルを不正に実行させる攻撃は、OSコマンドインジェクションに分類される。

理由

system関数やexec関数は、引数として受け取った内容を利用してOS上のコマンドや実行形式ファイルを起動できる。入力値の検証や適切な分離が不十分だと、攻撃者が意図したコマンドを実行させられるため、この攻撃はOSコマンドインジェクションに該当する。

比較

HTTPヘッダインジェクションはHTTP応答ヘッダへの不正な値の混入、クロスサイトリクエストフォージェリは利用者の権限を悪用した意図しないリクエスト、セッションハイジャックはセッション情報の奪取を指します。いずれも設問の外部コマンド実行とは異なる。

選択肢ア

これは不正解だよ。HTTPヘッダインジェクションは、入力値に改行などを混入させ、Webサーバから返されるHTTP応答ヘッダを不正に追加・改変する攻撃である。Perlのsystem関数やPHPのexec関数を通じてOS上のコマンドを実行させる設問の内容とは、悪用する処理の対象が異なる。

選択肢イ(正解)

これは正解だよ。OSコマンドインジェクションは、Webページから受け取った入力値がOSコマンドを実行する機能へ渡される際、その入力に不正な命令を含めて実行させる攻撃である。system関数やexec関数を利用してシェルスクリプトや実行形式ファイルを起動させる説明と一致する。

選択肢ウ

これは不正解だよ。クロスサイトリクエストフォージェリは、利用者がログイン済みであることなどを利用し、本人が意図していない処理をWebサービスに実行させる攻撃である。入力文字列をsystem関数やexec関数に渡してOS上のプログラムを実行させる仕組みを直接説明するものではない。

選択肢エ

これは不正解だよ。セッションハイジャックは、Cookieなどのセッション識別情報を盗用し、正規利用者になりすましてWebサービスを利用する攻撃である。設問で問題となっているのは認証状態の奪取ではなく、入力値を利用してサーバ上のシェルスクリプトや実行形式ファイルを起動させる点である。

学習のポイント

外部コマンド実行機能へ入力値が渡る脆弱性と、他のWeb攻撃との違いを整理する。

出典:独立行政法人 情報処理推進機構(IPA)平成27年度秋期 ネットワークスペシャリスト試験 午前Ⅱ 問20(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針