Webセキュリティの小部屋

Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから
公開日:2013年3月21日

HTTP ヘッダー・インジェクションと対策

HTTP ヘッダー・インジェクションとは

httpheaderinjection

HTTP ヘッダーインジェクションとは、リダイレクト先を指定する Location ヘッダーなどに改行コードを含めることにより、以下のようなことを行える脆弱性です。

  • 任意のレスポンスヘッダーの追加
  • レスポンスボディの偽造

これにより、クロスサイト・スクリプティングと同様の被害が起きます。

  • 偽ページの表示
  • Cookie の発行
  • 任意のスクリプト実行
  • 情報漏えい

また、HTTP のレスポンスを分割することもできます。複数のレスポンスを作り出す攻撃は「HTTP レスポンス分割攻撃」と呼ばれます。

HTTP ヘッダー・インジェクションの対策

  • HTTP ヘッダー出力用 API を使用する
  • 改行コードを適切に処理する HTTP ヘッダー用 API がない場合は適切な対処を行う

■HTTP ヘッダー出力用 API を使用する

HTTP ヘッダーの出力は単純ではないため、言語で用意された HTTP ヘッダー出力用の API を指定します。

■改行コードを適切に処理する HTTP ヘッダー用 API がない場合は適切な対処を行う

HTTP ヘッダーを出力する API が適切に改行コードを処理できない場合は、以下のような対応を行います。

  • 改行の後に空白を入れることで継続行として処理する
  • 改行コード以降の文字を削除する
  • 改行が含まれていたら処理を中断する
  • 改行コードを削除する

■改行コードを削除する

外部からの入力全てについて改行コードを削除することで、HTTP ヘッダーを加工されないようにします。


スポンサーリンク




カテゴリー:Webアプリケーションセキュリティ

Twitter でも、いろんな情報を発信しています。



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA