7-8その他のセキュリティTips466 リダイレクト時の危険性と対策を理解する
Level2
Point外部からの入力値を使用したダイレクト処理に潜む脆弱性を理解する
下記のように、header関数を使ってリダイレクトしていたとします。
<?php
header('Location: '.$url);
?>
このとき、$urlに外部からの入力も混じっていた場合、HTTPレスポンスを悪意のあるユーザによって追加(分割)される場合があります。
例として攻撃者が、$urlとして「http://website.example.com/+改行文字+Set-Cookie:任意のセッションID」を送信した場合、HTTPレスポンスは下記のようになります。
Location: http://website.example.com/
Set-Cookie: PHPSESSID=ABCD
このHTTPレスポンスを返すパラメータ付きURLを、攻撃者は予め用意しておき、メールやリンクなどで被害者を誘導します。
誘導された被害者は不意にセッションIDを「ABCD」に固定化され、攻撃
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録