令和7年度 春期 応用情報技術者試験 午前 問36
テクノロジセキュリティ技術
この問題は2025(R7)春 応用情報技術者 午前に出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。
本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。
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
解答・解説を読む
正解: 選択肢イ
本問は、Webサーバに対する攻撃ログから、攻撃者が悪用しようとした脆弱性を推測する問題です。
正解はイ(OSコマンドインジェクション)です。
正解の根拠
HTTPリクエストヘッダー中のURLパラメータ部分などに、;(セミコロン)や |(パイプ)などのOSが解釈するメタ文字と、OSのコマンド(例えば cat%20/etc/passwd や ls%20-l など)が混入されている場合、これはOSコマンドインジェクションによる攻撃の痕跡と考えられます。
攻撃者は、Webアプリケーションが外部からの入力を適切にサニタイズ(無害化)せずにOSのシェルに渡してしまう脆弱性を悪用し、不正なコマンドを実行させようとしています。問題文の「%20」はURLエンコードされた空白(スペース)を意味しており、コマンドの引数を指定する際によく用いられます。
各選択肢の解説
- ア(HTTPヘッダーインジェクション)
HTTPレスポンスヘッダーの出力処理に脆弱性がある場合、改行文字(%0D%0Aなど)を混入させることで任意のレスポンスヘッダーやボディを追加する攻撃です。今回のログの特徴とは一致しません。 - イ(OSコマンドインジェクション)
正解です。シェルを不正に操作するためのコマンドやパラメータがリクエストに含まれているのが特徴です。 - ウ(SQLインジェクション)
データベースに対する問い合わせ文(SQL)を不正に操作する攻撃です。リクエストには'(シングルクォート)やOR 1=1などのSQL特有の文字列が含まれるのが特徴です。 - エ(クロスサイトスクリプティング)
Webページ上に不正なスクリプト(JavaScriptなど)を紛れ込ませ、閲覧者のブラウザ上で実行させる攻撃です。リクエストには<script>タグなどが含まれるのが特徴です。