1

我在控制器中编写了以下代码:

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

它有标头注入吗?

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

请告诉我如何解决。

4

1 回答 1

3

CakePHP 中没有任何东西是直接易受攻击的,但它也没有针对它进行防御性编码。执行实际的重定向Controller->redirect()调用Controller->header(),然后调用header(). 因此,正在使用的 PHP 版本将决定您是否容易受到 HTTP 标头注入的影响。此漏洞已在PHP 的 4.4.2 和 5.1.2 版本中得到修复header()

但是,您永远不应该将不受信任或未知的内容放在位置标头中,因此使用白名单验证进行防御性编码,您会没事的。

于 2011-11-10T10:04:42.057 回答