[ホーム] > [サイバー攻撃大辞典 トップ] > [HTTPヘッダ・インジェクション]


作成日:2020/09/15

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

HTTPヘッダ・インジェクション 攻撃の概要図


HTTPヘッダ・インジェクションとは、クライアントからの入力で動的にHTTPページを生成するアプリにおいて、不正な情報入力によりHTTPヘッダを入力しクライアントに意図しないページに移動させたり、不正なcookieをセットしたりする攻撃方法。
クライアントからの入力で改行コードを含めることにより、改行以下は新たなヘッダとして悪意のコードを追加することが可能。
(別名:HTTPヘッダ分割、改行コードインジェクション)


攻撃例


以下、クライアント側からの入力に応じてサーバ側で動作を行うアプリケーションを想定。
(1)
「Location:」による意図しないページへの移動

(2)応答に不正な改行を挿入することにより、不正なセッションIDを挿入。
%0d%0a で強制的に改行を挿入し、その後偽装した cookie を設定する。
test%0d%0aSetCookie:%20sessionid=xxxxx

(3)
キャッシュの汚染


対策


・Webアプリケーションの設計としてヘッダー出力はWebアプリケーション専用のAPI を使用する。(ただしAPIに脆弱性の無いことを確認)
・入力値を元にヘッダを生成する場合、入力値の改行コード(あるいは場合によっては特殊文字)入力はエラー処理する。(HTTP ヘッダーはエスケープ処理はサポートされていない。)

基本的にユーザが入力したフォームから HTML を生成するのは非常に危険である。特殊文字やHTMLや改行コードなどの無効化やエスケープ化は本攻撃に限定せず非常に重要である。







[ホーム] > [サイバー攻撃大辞典 トップ] > [HTTPヘッダ・インジェクション]


本サイト内掲載されている情報は、誰もその正当性は保証しません。独自の調査により判明した事項を記載しており、内容に誤りがある可能性があります。
内容により発生したいかなる損害は誰も補償しません。自己責任で参考として閲覧してください。
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) securitychecklist.net 2015 - 2020