我在控制器中编写了以下代码:
$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()
。
但是,您永远不应该将不受信任或未知的内容放在位置标头中,因此使用白名单验证进行防御性编码,您会没事的。