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コマンドインジェクション」について調べてみよう。
戻る
一覧へ
次へ
|