2020年 秋期 情報処理安全確保支援士 午前II 問1

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-Agent: (省略)
 Host: test.example.com
 Connection: Keep-Alive

 ア  HTTPヘッダインジェクション(HTTP Response Splitting)
 イ  OSコマンドインジェクション
 ウ  SQLインジェクション
 エ  クロスサイトスクリプティング


答え イ


解説
ヘッダーリクエストの
 GET /cgi-bin/submit.cgi?user=;cat%20/etc/passwd HTTP/1.1
は、ファイルの内容を閲覧するコマンドである“cat”でサーバのパスワードを管理しているファイル“/etc/passwd”を指定しているので、これはサーバのパスワードファイルを盗みだそうというOSコマンドインジェクション(イ)になります。


キーワード
・OSコマンドインジェクション

キーワードの解説
  • OSコマンドインジェクション(OS command injection)
    Webページの利用者が入力するパラメータとしてOSコマンドを挿入し、意図しないOSコマンドを実行させることを狙った攻撃で、サーバのroot権限が乗っ取られたりする足がかりになる非常に危険な問題です。
    対策としてはユーザーが入力したパラメータに対しサニタイジング(sanitizing、無毒化)を行い、OSコマンドなどが実行されないようにしたり、サーバで動作するサービスの権限を最低限のものにするなどがあります。

もっと、「OSコマンドインジェクション」について調べてみよう。

戻る 一覧へ 次へ