[サイバー攻撃大辞典 トップへ]

HTTPレスポンス分割


スポンサー リンク

説明


ブラウザからの入力内容を元にHTTPヘッダーを生成し応答するWebアプリケーションが攻撃対象となる。悪意のHTTPレスポンスを生成し、それをProxyサーバにキャッシュさせる。他のユーザがこのキャッシュを参照した場合、悪意のHTTPファイルを読み込み、有害サイトに誘導されたり、cookieの盗難の被害に合う。

(1)ブラウザの入力を元にHTTPレスポンスのヘッダーを生成する場合、攻撃者は入力に改行(CR+LF)コードを挿入し、悪意のHTTPレスポンスヘッダー2を生成する。

[HTTPレスポンスヘッダー1]
[CR+LF]
[HTTPレスポンスヘッダー2]
<悪意のコード>

Webアプリケーション開発者は[CR+LF]の入力は想定していない。

(2)このHTTPレスポンスヘッダー2がプロキシーにキャッシュされる。ここに悪意のXSSなどを仕込めば、他のユーザがキャッシュを読み込んだ場合に被害が発生する。


攻撃例


http://www.example.com/ サイトでユーザID及びパスワードを入力するサービスが稼働しているとする。

HTTPレスポンス分割により、このサイトの偽のページをプロキシーにキャッシュする。
他のユーザがhttp://www.example.com/にアクセスしたとき、HTTPレスポンス分割によりプロキシにキャッシュされた悪意のページをロードするとする。この悪意のページにユーザID及びパスワードを盗難するXSSを仕込めば、これらを盗難することが可能となる。


対策


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


スポンサー リンク






[サイバー攻撃大辞典 トップへ]


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