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