HTTP ヘッダ・インジェクション - Server

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

動的にヘッダを生成するWebページに対し、改行コードをヘッダ内に挿入することで、任意の文字列を生成させて不正な動作を引き起こさせる攻撃方法。

攻撃者は HTTP レスポンスヘッダに任意のヘッダフィールドを追加したり、レスポンスボディに任意のコンテンツを追加できるため、さまざまな攻撃の⽷⼝となる危険性があります。

攻撃による発生しうる脅威

  • クロスサイト・スクリプティング攻撃と同じ脅威
  • 任意の Cookie 発行
  • キャッシュサーバのキャッシュ汚染

対策方法

  • ヘッダの出力を直接行わず、ウェブアプリケーションの実行環境や言語に用意されているヘッダ出力用 API を使用する。
  • 改行コードを適切に処理するヘッダ出力用 API を利用できない場合は、改行を許可しないよう、開発者自身で適切な処理を実装する。
  • 外部からの入力の全てについて、改行コードを削除する。