情報処理安全確保支援士試験 情報処理安全確保支援士試験 令和2年度 午前Ⅱ1: Web サーバのログを分析したところ,Web サーバへの攻撃と思われる HTTP リクエストヘッダが記録されていた。次の HTTP リクエストヘッダから推測でき

情報処理安全確保支援士試験 令和2年度 午前Ⅱ
Q 11 / 25
Web サーバのログを分析したところ,Web サーバへの攻撃と思われる リクエストヘッダが記録されていた。次の HTTP リクエストヘッダから推測できる,攻撃者が悪用しようとしていた脆弱性はどれか。ここで,HTTP リクエストヘッダ中の“%20”は空白を意味する。 〔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

問題本文

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

選択肢

  • .HTTP ヘッダインジェクション(HTTP Response Splitting)
  • .OS コマンドインジェクション
  • .SQL インジェクション
  • .クロスサイトスクリプティング

正解

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

解説

リクエスト中の user=;cat%20/etc/passwd は、CGIに渡す値にセミコロンとUNIXコマンドを混入させ、サーバ側でシェルに解釈させてpasswdを読み出そうとする典型例。シェルのメタ文字を悪用してOSコマンドを実行させるOSコマンドインジェクションに該当する。実務ではシェル呼び出しを避け、入力をエスケープ・許可リスト化して防ぐ。

選択肢ごとの解説

  • .改行コードを注入してHTTP応答を分割する攻撃。本例はリクエストURLへのコマンド混入であり該当しない。
  • .セミコロンに続けてcatコマンドを注入しシェルで実行させようとする点がOSコマンドインジェクションそのもので正しい。
  • .SQL文の断片を注入しDBを不正操作する攻撃で、本例にSQLの構文はなくOSコマンド注入なので誤り。
  • .スクリプトを注入し閲覧者のブラウザで実行させる攻撃。サーバ側のコマンド実行を狙う本例とは異なる。

情報処理安全確保支援士試験 令和2年度 午前Ⅱ過去問一覧へ戻る・問1

情報処理安全確保支援士試験 令和2年度 午前Ⅱ 問1:Web サーバのログを分析したところ,Web サーバへの攻撃と思われる HTTP リクエストヘッダが記録されていた。次の HTTP リクエストヘッダから推測できる,攻撃者が悪用しよ | SC | 合格.dev