応用情報技術者試験 応用情報技術者試験 令和7年度春期 午前36: Web サーバのログを分析したところ,Web サーバへの攻撃と思われる HTTP リクエストヘッダーが記録されていた。次の HTTP リクエストヘッダーから推測

応用情報技術者試験 令和7年度春期 午前
Q 3636 / 80
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
この問の正解率:81.74%(241件)

問題本文

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 /etc/passwd」が含まれています(%20 は空白)。セミコロン「;」はシェルでコマンドを区切る記号、cat /etc/passwd は UNIX 系 OS でパスワード情報を含むファイルを表示する OS コマンドです。CGI が受け取った値をそのままシェルに渡して実行する脆弱性を突き、本来の処理に続けて任意の OS コマンドを実行させようとしているため、これは OS コマンドインジェクションです。正解はイです。

選択肢ごとの解説

  • .HTTP ヘッダーインジェクションは改行コードを注入して HTTP レスポンスを分割・偽造する攻撃です。この例はシェルコマンドの注入であり、改行による応答分割を狙っていないため誤りです。
  • .「;」でコマンドを区切り cat /etc/passwd という OS コマンドを実行させようとしており、OS コマンドインジェクションそのものなので正解です。
  • .SQL インジェクションは SQL 文を注入してデータベースを不正操作する攻撃です。この例は SQL 文ではなく OS コマンドの注入なので誤りです。
  • .クロスサイトスクリプティングは JavaScript などのスクリプトを埋め込み閲覧者のブラウザで実行させる攻撃です。この例はサーバ側で OS コマンドを実行させる狙いであり該当しないため誤りです。

応用情報技術者試験 令和7年度春期 午前過去問一覧へ戻る・問36