問題
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
選択肢
- 1HTTP ヘッダーインジェクション(HTTP Response Splitting)
- 2OS コマンドインジェクション
- 3SQL インジェクション
- 4クロスサイトスクリプティング
正解
2. OS コマンドインジェクション
詳しい解説を見る解説を閉じる
解説
リクエストの user パラメタに「;cat /etc/passwd」が含まれている。これはシェルのコマンド区切り「;」を使って、CGIプログラムが内部で起動するOSコマンドに「cat /etc/passwd」を注入し、サーバ上のパスワードファイルを読み出させようとする典型的なOSコマンドインジェクションの攻撃である。イが正解。HTTPヘッダーインジェクションは改行コードを注入してレスポンスを分割する攻撃、SQLインジェクションはSQL文の注入、クロスサイトスクリプティングはスクリプト注入であり、本例の「OSコマンドの直接実行を狙う」点とは異なる。(出典: 令和7年度 春期 応用情報技術者試験 午前 問36)
一問一答
全400問を繰り返し学習