令和7年度春期 応用情報技術者試験 午前 問36
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インジェクション
- エ クロスサイトスクリプティング
解答・解説を見る
正解:イ
AI解説
HTTPリクエスト中の「;cat%20/etc/passwd」は、シェルのコマンド区切り文字「;」を使って本来意図しないOSコマンド(catコマンドによる/etc/passwdの閲覧)を実行させようとする典型的な攻撃手口であり、これはOSコマンドインジェクションに該当する。 ア: 誤り。HTTPヘッダーインジェクション(HTTP Response Splitting)は改行文字(CRLF)を利用してレスポンスヘッダーを不正に分割・追加する攻撃であり、本設問のようなシェルコマンド区切り文字の悪用とは異なる。 イ: 正しい。「;」によるコマンド区切りと「cat /etc/passwd」というOSコマンドの挿入から、OSコマンドインジェクションを狙った攻撃であると判断できる。 ウ: 誤り。SQLインジェクションはSQL構文(引用符やOR条件など)を悪用する攻撃であり、本設問のログにはSQL構文の痕跡が見られない。 エ: 誤り。クロスサイトスクリプティングは<script>タグなどHTML/JavaScriptコードの挿入を狙う攻撃であり、本設問のログとは特徴が異なる。 💡 ログ中に「;」「|」「&&」などのシェル特殊文字とOSコマンド名(cat、ls、rmなど)が組み合わさっていたら、OSコマンドインジェクションを疑うのが定石である。
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。