HTTP ヘッダ・インジェクション
動的にヘッダを生成するWebページに対し、改行コードをヘッダ内に挿入することで、任意の文字列を生成させて不正な動作を引き起こさせる攻撃方法。
攻撃者は HTTP レスポンスヘッダに任意のヘッダフィールドを追加したり、レスポンスボディに任意のコンテンツを追加できるため、さまざまな攻撃の⽷⼝となる危険性があります。
攻撃による発生しうる脅威
- クロスサイト・スクリプティング攻撃と同じ脅威
- 任意の Cookie 発行
- キャッシュサーバのキャッシュ汚染
対策方法
- ヘッダの出力を直接行わず、ウェブアプリケーションの実行環境や言語に用意されているヘッダ出力用 API を使用する。
- 改行コードを適切に処理するヘッダ出力用 API を利用できない場合は、改行を許可しないよう、開発者自身で適切な処理を実装する。
- 外部からの入力の全てについて、改行コードを削除する。