令和7年度 春期 応用情報技術者試験 午前 問36

テクノロジセキュリティ技術

この問題は2025(R7)春 応用情報技術者 午前に出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

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

HTTPリクエストヘッダーの一部
図の説明テキスト

〔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サーバに対する攻撃ログから、攻撃者が悪用しようとした脆弱性を推測する問題です。

正解はイ(OSコマンドインジェクション)です。

正解の根拠

HTTPリクエストヘッダー中のURLパラメータ部分などに、;(セミコロン)や |(パイプ)などのOSが解釈するメタ文字と、OSのコマンド(例えば cat%20/etc/passwdls%20-l など)が混入されている場合、これはOSコマンドインジェクションによる攻撃の痕跡と考えられます。
攻撃者は、Webアプリケーションが外部からの入力を適切にサニタイズ(無害化)せずにOSのシェルに渡してしまう脆弱性を悪用し、不正なコマンドを実行させようとしています。問題文の「%20」はURLエンコードされた空白(スペース)を意味しており、コマンドの引数を指定する際によく用いられます。

各選択肢の解説

  • ア(HTTPヘッダーインジェクション)
    HTTPレスポンスヘッダーの出力処理に脆弱性がある場合、改行文字(%0D%0A など)を混入させることで任意のレスポンスヘッダーやボディを追加する攻撃です。今回のログの特徴とは一致しません。
  • イ(OSコマンドインジェクション)
    正解です。シェルを不正に操作するためのコマンドやパラメータがリクエストに含まれているのが特徴です。
  • ウ(SQLインジェクション)
    データベースに対する問い合わせ文(SQL)を不正に操作する攻撃です。リクエストには '(シングルクォート)や OR 1=1 などのSQL特有の文字列が含まれるのが特徴です。
  • エ(クロスサイトスクリプティング)
    Webページ上に不正なスクリプト(JavaScriptなど)を紛れ込ませ、閲覧者のブラウザ上で実行させる攻撃です。リクエストには <script> タグなどが含まれるのが特徴です。