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 コマンドインジェクションです。正解はイです。