HTTPヘッダ・インジェクション
From Wikipedia, the free encyclopedia
SQLインジェクションなどと同様に、入力値を出力に用いている箇所において、文法上特殊な意味を持つ文字をエスケープせずに展開することで発生する。
HTTPヘッダにおける特殊文字とは、改行コードである。各HTTPヘッダ行は改行で終了し、それ以降は新たなヘッダ行として処理される。この結果、HTTPヘッダの値として改行コードを挿入することができれば、本来の通信内容には含まれないヘッダを挿入することができる。
また、HTTPは空行によってヘッダとボディを区切っている。連続する改行を挿入すればHTTPヘッダの終了を示すことになり、後続するヘッダ行があってもボディとして処理される。