Codeigniter上的主机头攻击

时间:2017-04-19 09:31:46

标签: php codeigniter security http-headers

我从IT-Sec得到了这个问题,我已经阅读并搜索了thouroghly但我仍然无法找到解决此问题的任何实际解决方案。在这里。

  

" HTTP Host头可以由攻击者控制。这可以通过使用Web缓存中毒和滥用替代渠道来利用。 Pentester尝试使用修改标头主机进行请求。以及修改主机头显示的响应结果。受影响的文件:

     
    
        
  1. 应用程序/ formulir
  2.     
  3. 应用程序/ kompensasi
  4.     
  5. 应用程序/ panduan-Agen的
  6.     
  7. 应用程序/ produk丹-layanan
  8.     
  9. 应用程序/ tentang
  10.     
  11. 应用程序/ tentang -
  12.     
  13. 应用程序/训练
  14.        
     

此漏洞的影响   攻击者可以操纵Web应用程序看到的Host头,并导致应用程序以意想不到的方式运行。"

这是标头sc: header

目前推荐的解决方案是:

  

Web应用程序应使用SERVER_NAME而不是Host标头

此应用程序在xampp上运行,具有反向代理设置以进行测试。我已经对config.php进行了3次更改,但问题仍然存在。这是代码。

if(isset($_SERVER[SERVER_NAME])) { 
$config['base_url'] = isset($_SERVER['HTTPS']) &&  strtolower($_SERVER['HTTPS']) == 'on' ? 'https' : 'http';
$config['base_url'] = '://'. $_SERVER['SERVER_NAME'];
$config['base_url'] = str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
}
else{
$config['base_url'] = '';
}

和2:

$config['base_url'] = 'http://$_SERVER[SERVER_NAME]';

和3:

$config['base_url'] = 'https://jktdc.*********.com/app'

我要问的是,我必须更改/添加以确定此问题的方式/位置/内容。不是抨击。非常感谢。

1 个答案:

答案 0 :(得分:0)

答案是

$url = ''
$config[base_url] = $url

因此它将接受任何服务器名称。