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

令和2年度10月 情報処理安全確保支援士 午前Ⅱ 問1

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

問題

Webサーバのログを分析したところ、 Webサーバへの攻撃と思われるHTTPリクエストヘッダが記録されていた。次のHTTPリクエストヘッダから推測できる、 攻撃者が悪用しようとしていた脆静性はどれか。ここで、 HTTPリクエストヘッダ中の “%20” は空白を意味する。

選択肢

  1. ア
    〔HTTPリクエストヘッダの一部} GET /cgi-bin/submit.cgi?user=:cat%20/etc/passwd HTTP/1.1 Accept: ※/* Accept-Language: ja UA-CPU: x86 Accept-Encoding: gzip、 deflate User-Agent: (省略) Host: test.example.com Connection: Keep-Alive
  2. イ
    HTTPヘッダインジェクション (HTTP Response Splitting) イ0Sコマンドインジェクション
  3. ウ
    SQLインジェクション
  4. エ
    クロスサイトスクリプティング
解き方のヒントを見る

URLにまぎれたOSコマンドを見抜こう

URLのパラメータに`;cat /etc/passwd`みたいな文字列が混ざっているよね。これは、攻撃者が「Webアプリが入力値をそのままOSのコマンドとして実行してくれないかな?」と狙っている状態だよ。たとえるなら、注文メモに料理名だけを書くはずなのに、厨房への勝手な指示を書き足して店員に実行させようとしている感じ。入力値がシェル経由で実行される弱点を突く攻撃なので、これはOSコマンドインジェクションだよ。

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

この問題では、入力値がSQL文やHTMLに入っているのではなく、OSコマンドに渡されようとしている点を見抜こう。`;cat /etc/passwd`のようにOSで動く命令っぽい断片があるかに注目すると判断しやすいよ。

攻撃文字列の意味

`;` でコマンドを連結し、`cat /etc/passwd` を実行させようとしている点が典型的な OS コマンドインジェクションの痕跡です。

URL パラメータ\n-> `; cat /etc/passwd`\n-> OS コマンド実行狙い

確認ポイント

  • HTTP ヘッダ分割や XSS の文字列ではありません。
  • SQL 文断片も含まれていない。
  • OS コマンドインジェクションを選ぶ。
正解と解説を見る

正解

イ

出典

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

選択肢ア

これは攻撃名そのものではなく、HTTPリクエストの中身の例だよ。`user=` の値に `cat /etc/passwd` のような命令っぽい文字列が入っていて、サーバに余計な仕事をさせようとしている証拠になるんだ。分類するなら、この例が示しているのはOSコマンドインジェクションだよ。

選択肢イ(正解)

これはOSコマンドインジェクションなら正解だよ。`cat /etc/passwd` はサーバの中で命令を実行させようとする文字列で、窓口に普通の申込用紙を出すふりをして「ついでに金庫を開けて」と命令を書き込むような攻撃なんだ。HTTPヘッダインジェクションは、改行などを混ぜてHTTPの返事を壊す攻撃なので、この例とは狙いが違うよ。

選択肢ウ

SQLインジェクションではないよ。SQLインジェクションは、注文票にデータベースへの裏口指示を書き足して、会員情報などを勝手に取り出すような攻撃だよ。今回の `cat /etc/passwd` はSQL文ではなくOSのコマンドなので、狙っている相手がデータベースではなくサーバ本体なんだ。

選択肢エ

クロスサイトスクリプティングではないよ。XSSは、掲示板に危ないJavaScriptを貼って、見た人のブラウザで動かすような攻撃なんだ。今回はブラウザでスクリプトを動かす話ではなく、サーバ側にOSの命令を実行させようとしている点が違うよ。

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

関連する過去問一覧

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