[ホーム] >
[サイバー攻撃大辞典 トップ] > [HTTPヘッダ・インジェクション]
作成日:2020/09/15
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