IPA過去問ドリル

平成30年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問2

テクノロジ/セキュリティ

Web サーバのログを分析したところ,Web サーバへの攻撃と思われる HTTP リクエストヘッダが記録されていた。次の HTTP リクエストヘッダから推測できる,攻撃者が悪用しようとしている脆弱性はどれか。ここで,HTTP リクエストヘッダはデコード済みである。 〔HTTP リクエストヘッダの部分〕 GET /cgi-bin/submit.cgi?user=;cat /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

出典:平成30年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問2

正解:イ

解説

設問の HTTP リクエストヘッダでは,本来 CGI プログラムに渡すパラメータ user の値として “;cat /etc/passwd” が指定されています。これは,シェルにおいてコマンドを区切るセミコロン(;)に続けて,Linux などの OS のコマンドである cat コマンドでパスワードファイル /etc/passwd の内容を表示させようとするものです。つまり,パラメータの値がそのままシェルに渡されて OS のコマンドとして実行されてしまう脆弱性,すなわち OS コマンドインジェクションを悪用しようとしていると推測できます。

選択肢ごとの解説

  • 誤り。HTTP ヘッダインジェクションは,HTTP レスポンスヘッダに改行コードなどを注入して不正なヘッダやボディを追加する攻撃であり,本設問のようにセミコロンで OS のコマンドを連結する手口とは異なります。
  • 正しい。パラメータの値にセミコロンで区切って cat /etc/passwd という OS のコマンドを連結しており,これは OS コマンドインジェクションを悪用しようとする典型的な手口です。
  • 誤り。SQL インジェクションは,データベースへの問合せに使われる SQL 文を不正に組み立てて実行させる攻撃であり,本設問のリクエストには SQL 文を示す記述は含まれていません。
  • 誤り。クロスサイトスクリプティングは,Web ページに悪意のあるスクリプトを埋め込んで他の利用者のブラウザ上で実行させる攻撃であり,本設問のような OS コマンドの連結を伴う攻撃ではありません。
情報処理安全確保支援士の過去問を演習モードで解く