コントローラーに次のコードを書きました。
$this->redirect('https://example.com' . $this->here);
ヘッダーインジェクションはありますか?
ex) http://example.com/%0dSet-Cookie:XXXX=YYYYY
修正方法を教えてください。
コントローラーに次のコードを書きました。
$this->redirect('https://example.com' . $this->here);
ヘッダーインジェクションはありますか?
ex) http://example.com/%0dSet-Cookie:XXXX=YYYYY
修正方法を教えてください。
CakePHP には直接脆弱なものはありませんが、それに対して防御的なコードもありません。実際のリダイレクトController->redirect()
呼び出しを実行するController->header()
には、次に呼び出しますheader()
。したがって、使用中の PHP のバージョンによって、HTTP ヘッダー インジェクションに対して脆弱であるかどうかが決まります。この脆弱性は、PHP のリリース 4.4.2 および 5.1.2 で修正されheader()
ました。
ただし、信頼できないコンテンツや未知のコンテンツをロケーション ヘッダーに挿入することは絶対に避けてください。