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
区切り文字でシェルコマンドを続ける攻撃はOSコマンドインジェクション
選択肢
- アHTTPヘッダインジェクション(HTTP Response Splitting)
- イOSコマンドインジェクション
- ウSQLインジェクション
- エクロスサイトスクリプティング
正解と解説
正解:イ OSコマンドインジェクション
クエリ文字列にセミコロンとシェルコマンドが埋め込まれている点が手掛かりである。UNIX系シェルではセミコロンが命令の区切りとして解釈されるため、CGIが受け取った値をそのままシェルに渡していると、本来の処理に続けて任意のコマンドが実行されてしまう。パスワードファイルの表示を狙ったこの手口はOSコマンドインジェクションである。対策は外部入力をコマンド文字列に連結せず、シェルを経由しないAPIを使うことである。
選択肢ごとの解説
- アHTTPヘッダインジェクションは改行コードを注入してレスポンスを分割・偽装する攻撃で、サーバ上でのコマンド実行は伴わない。
- イ正しい。区切り文字に続けてOSのコマンドを埋め込み、サーバ上で実行させようとする典型的な手口である。
- ウSQLインジェクションであればSQL構文の断片が現れるはずだが、ここではシェル向けの記述しか見られない。
- エクロスサイトスクリプティングはブラウザ側でスクリプトを実行させる攻撃であり、サーバのファイル読み出しとは仕組みが異なる。
同じ分野の他の問題
- Webアプリケーションソフトウェアの脆弱性を悪用する攻撃手法のうち、入力した文字列がPHPのexec関数などに渡されるこ…2023年度 秋期 午前II 問1
- Webサーバのログを分析したところ、Webサーバへの攻撃と思われるHTTPリクエストヘッダが記録されていた。次のHTTP…2022年度 春期 午前II 問1
- Webアプリケーションの脆弱性を悪用する攻撃手法のうち,Webページ上で入力した文字列がPerlのsystem関数やPH…2018年度 秋期 午前II 問13
- Webサーバのログを分析したところ,Webサーバへの攻撃と思われるHTTPリクエストヘッダが記録されていた。次のHTTP…2018年度 春期 午前II 問2
- Webアプリケーションの脆弱性を悪用する攻撃手法のうち,Webページ上で入力した文字列がPerlのsystem関数やPH…2017年度 春期 午前II 問12
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。