SC情報処理安全確保支援士試験 午前Ⅱ

平成23年度秋期 情報処理安全確保支援士 午前Ⅱ 問16

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

問題

Webアプリケーションの脆絆性を悪用する攻撃手法のうち、 Perlのsystem関数やPHPのexec関数など外部プログラムの呼出しを可能にするための関数を利用し、 不正にシェルスクリプトや実行形式のファイルを実行させるものはどれに分類されるか

選択肢

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

Webの入力欄からサーバーのOSへ直接命令(コマンド)を送り込み、サーバーを乗っ取る「OSコマンドインジェクション」

非常に危険な脆弱性「OSコマンドインジェクション」についての問題だよ。Webアプリの開発時に、ユーザーが入力した文字をそのままOSのシェル(コマンド実行画面)に渡して実行するような設計(PHPの exec や Perlの system 関数など)をしていると起きるんだ。攻撃者が「 | rm -rf / 」のようなOSへの命令をこっそり入力すると、サーバー上の大切なファイルを勝手に消去されたり、勝手に別のプログラムを起動されたりしちゃうよ。

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

レスポンスを偽装する「HTTPヘッダインジェクション」や、DBを攻撃する「SQLインジェクション」と区別して、「Webアプリの入力値を通じてサーバーのOSに対して直接任意のシステムコマンド(シェルコマンド)を実行させる攻撃」を選ぼう。

OS コマンドインジェクション

入力値がコマンドラインへそのまま渡ると、攻撃者は追加の OS コマンドを混ぜ込み、サーバ上で任意の処理を実行させるおそれがあります。

入力値をコマンドへ連結\n-> OS コマンド実行\n-> 不正操作

確認ポイント

  • CSRF は利用者の権限を悪用して別操作をさせる攻撃です。
  • セッションハイジャックは認証済みセッションの乗っ取りです。
  • 外部プログラム実行関数の悪用を選びます。
正解と解説を見る

正解

イ

出典

問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。

選択肢ア

HTTPヘッダインジェクションは不正解だよ。これは、Webサーバからブラウザへ返す「封筒の宛名欄」に、改行などを混ぜて偽の指示を書き足すような攻撃だよ。今回の問題は、HTTPヘッダを書き換える話ではなく、サーバ上で外部プログラムやOSコマンドを実行させる話なんだ。

選択肢イ(正解)

OSコマンドインジェクションが正解だよ。たとえば受付の人に「この荷物を倉庫に運んで」と頼む欄へ、泥棒が「ついでに金庫も開けて」と命令を混ぜるようなもの。Webアプリが入力値をそのままsystem関数やexec関数に渡すと、攻撃者の命令がOSコマンドとして実行されてしまうんだ。

選択肢ウ

クロスサイトリクエストフォージェリは不正解だよ。これは、ログイン中の利用者をだまして、本人が押したつもりのない申請書を窓口に出させるような攻撃だよ。問題文のように、system関数やexec関数を悪用してサーバに命令を実行させる攻撃ではないんだ。

選択肢エ

セッションハイジャックは不正解だよ。これは、ログイン済みの人の「入場券」や「合鍵」にあたるセッション情報を盗んで、本人になりすます攻撃のこと。今回の問題は、サーバに命令文をこっそり実行させる話なので、合鍵を盗む話とは方向が違うよ。

出典:独立行政法人 情報処理推進機構(IPA)平成23年度秋期 情報処理安全確保支援士試験 午前Ⅱ 問16(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

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