0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Posted at

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

悪意のあるレスポンス内容の書き換えによりHTTPレスポンスヘッダの出力処理で発生する脆弱性。
クロスサイト・スクリプティングと共通の影響がある。

脆弱性の原理

ユーザが入力可能な欄からのリクエストによってレスポンスヘッダの書き換えが行われることにより発生する。
URLの入力欄は対象になりやすい。

具体的には、改行コードを認識してしまうことにより、入力された内容ので悪意のある改変が可能となっている。

脆弱性が悪用された際の影響

クロスサイト・スクリプティングと共通の影響がある。

  • 任意のCookie発行
  • 表示内容改ざん(ニセのフォームの作成、JavaScriptを用いたCookieの盗難にもつながる)
  • キャッシュサーバの汚染(ウェブページの改ざんとなり、サーバ側の被害が大きい)

対策方法

PHP5.4以降は改行コードを認識しないため、ヘッダの書き換えが発生しない。
そのため、新しいバージョンのPHPを利用することが対策となる。

それ以前のバージョンを使う場合、改行コードが異なるので実装の際は注意する必要があるが、主な対策の方針は以下のとおりである。

  • レスポンスヘッダに外部からのパラメータを出力しない。
  • 専用APIを用いてリダイレクトやCookie出力を行う。
  • ヘッダを生成する外部からのパラメータの改行文字をチェックする。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?