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

平成26年度春期 情報処理安全確保支援士 午前Ⅱ 問15

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

問題

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

選択肢

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

午前II 問15:OSコマンドインジェクションを見抜こう

system や exec みたいにOSコマンドを実行する関数へ、攻撃者が細工した入力を渡して、本来動かすはずのないコマンドまで実行させる攻撃だよ。たとえるなら、受付で「荷物をA室に運んで」と頼む紙に、こっそり「ついでに金庫も開けて」と書き足すようなものだね。

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

この問題では、OSコマンドインジェクションと、HTTPヘッダインジェクションやCSRFとの違いを整理できるかがポイントだよ。『OSのコマンドを不正に実行させる話か?』『HTTPヘッダを書き換える話か?』『利用者に意図しない操作をさせる話か?』を切り分けて考えよう。

OS Command Injection

OS command injection abuses functions such as system or exec to run shell commands through crafted input

abuse system or exec\nrun shell command\nvia crafted input

確認ポイント

  • 外部コマンド実行関数に注目する。
  • OS コマンドが動くのが本質。
  • CSRF ではありません。
正解と解説を見る

正解

イ

出典

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

選択肢ア

HTTPヘッダインジェクションは不正解だよ。これは、Webサーバからブラウザへ返す“封筒の宛名欄”みたいなHTTPヘッダに、改行などを混ぜて偽の指示を書き足す攻撃なんだ。今回のポイントは、ヘッダを書き換える話ではなく、system関数やexec関数などを通じてサーバにOSコマンドを実行させる話だよ。

選択肢イ(正解)

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

選択肢ウ

クロスサイトリクエストフォージェリは不正解だよ。これは、ログイン中の利用者をだまして、本人のブラウザから勝手に申請書を出させるような攻撃だよ。今回の問題は、利用者に操作をさせる話ではなく、攻撃者の入力をきっかけにサーバ側でOSコマンドを動かす話だから、OSコマンドインジェクションと見分けよう。

選択肢エ

セッションハイジャックを指しているなら不正解だよ。これは、利用者のログイン状態を示す“入館証”のようなセッションIDを盗んで、本人になりすます攻撃なんだ。今回の問題は、ログインの合鍵を盗む話ではなく、サーバにOSの命令を実行させる話なので違うよ。

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

関連する過去問一覧

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