情報セキュリティ講座(105) HTTPヘッダインジェクション

Webサイトにおいては、HTTPプロトコルが使用されます。クライアントがHTTPリクエストを送信し、それに対してHTTPレスポンスを返しますが、HTTPレスポンスヘッダの出力処理に脆弱性があると、悪意あるヘッダフィールドやヘッダボディを付加されるリスクがあります。

HTTPレスポンスヘッダは、改行コードで区切られます。WEBアプリケーション側で、動的にHTTPレスポンスヘッダを作成するような仕組みだと、ユーザが投入した文字列の中に改行コードを忍び込ませ、もともと一行だったHTTPレスポンスヘッダを分割し、あたかも二つのHTTPレスポンスヘッダがあるかのように操作できます。追加したHTTPレスポンスヘッダに、悪意あるスクリプトを埋め込むなどして、攻撃するわけです。

対策としては、ヘッダ出力用のAPIをアプリケーション側で準備し、改行コードがそのまま出力されないようにすること、ユーザ入力文字列に改行コードを混入できないようアプリケーション側で文字列処理をすること、などが考えられます。

投稿者プロフィール

小笠原 裕
小笠原 裕中小企業診断士 行政書士
バラの咲く街、八千代市緑が丘で、コンサルティング事務所を運営しています。