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

令和5年度秋期 情報処理安全確保支援士 午前Ⅱ 問1

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

問題

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

選択肢

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

午前II 問01:入力がシェルに渡るときの危険を見抜こう

入力された文字列が `exec` 関数みたいにシェル実行へそのまま渡されるなら、これは OS コマンドインジェクションだよ。たとえば、受付で書いたメモがそのまま作業員への命令として読まれてしまうようなもの。悪い人が余計な命令を書き足すと、OS に意図しないコマンドを実行させられる危険があるんだ。HTTP ヘッダインジェクション、CSRF、セッションハイジャックとは狙っている場所が違うよ。

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

この問題では、入力値が OS コマンドの実行に使われる場面を見て、「これは OS コマンドインジェクションの危険だ」と分類できるかを確認しているよ。

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

アプリが受け取った文字列を OS コマンドとして解釈させると、任意コマンド実行につながる。

入力値\n-> exec 関数\n-> OS コマンド実行

確認ポイント

  • HTTP ヘッダ分割や CSRF の説明ではありません。
  • セッション管理の問題でもない。
  • OS コマンドインジェクションを選ぶ。
正解と解説を見る

正解

イ

出典

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

選択肢ア

これは不正解だよ。HTTPヘッダインジェクションは、HTTPレスポンスのヘッダ部分に改行などを混ぜて、余計なヘッダや本文を差し込む攻撃だよ。手紙の封筒に勝手な宛先変更メモを差し込む感じ。OSの命令をサーバに実行させる攻撃とは別物だね。

選択肢イ(正解)

これは正解だよ。OSコマンドインジェクションは、入力欄などに本来の値だけでなくOSへの命令をこっそり混ぜて、サーバに実行させる攻撃なんだ。レストランの注文票に「カレー1つ」と書く場所へ「ついでに金庫を開けて」と勝手な作業指示を書き足すようなものだよ。

選択肢ウ

これは不正解だよ。クロスサイトリクエストフォージェリは、ログイン中の利用者に罠リンクなどを踏ませて、本人の意思ではない操作をさせる攻撃だよ。銀行窓口で本人の印鑑を使わせて、勝手な振込用紙を出させるようなイメージ。サーバにOSコマンドを実行させる話ではないよ。

選択肢エ

これは不正解だよ。セッションハイジャックは、ログイン中の人の「通行証」みたいなセッションIDを盗んで、本人になりすます攻撃のこと。今回のように、入力値に命令を混ぜてサーバに実行させる話ではないんだ。合鍵を盗んで家に入る攻撃、と考えると近いよ。

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

関連する過去問一覧

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