2011-11-10 9 views
1

私は、コントローラに以下のコードを書いた:

$this->redirect('https://example.com' . $this->here); 

それは、ヘッダインジェクションを持っていますか?

ex) http://example.com/%0dSet-Cookie:XXXX=YYYYY 

修正方法を教えてください。

+0

あなたは何を達成しようとしていますか? $ this->ここに何がありますか? – kaklon

+0

この場合、 '$ this-> here'は現在のURLなので、ここには何も挿入することはできません。 – Dunhamzzz

答えて

3

CakePHPのどの部分も直接脆弱ですが、脆弱なコードはありません。実際のリダイレクトController->redirect()を実行するには、Controller->header()が呼び出され、header()が呼び出されます。したがって、あなたがHTTPヘッダーの注入に脆弱かどうかを指示するのは、使用されているPHPのバージョンです。この脆弱性はremediated in header() in releases 4.4.2 and 5.1.2 of PHPでした。

ただし、信頼できない、または不明なコンテンツをロケーションヘッダーに入れないでください。したがって、ホワイトリストの検証で防御的にコードすれば問題ありません。

+0

+1搾取のこの方法は古いです。 – rook

関連する問題