首页 -> 安全研究

安全研究

安全漏洞
RaXnet Cacti config.php认证可绕过漏洞

发布日期:2005-07-04
更新日期:2005-07-04

受影响系统:
Raxnet Cacti <= 0.8.6e
不受影响系统:
Raxnet Cacti 0.8.6f
描述:
BUGTRAQ  ID: 14130

Cacti是一款轮循数据库(RRD)工具,可帮助从数据库信息创建图形,有多个Linux版本。

Cacti的“config.php”代码中的漏洞允许绕过一些用于缓存目的的HTTP首部的输出,攻击者可能利用这个问题绕过访问验证。

这种攻击是由“no_http_headers”切换来实现的。如果打开了register_globals,攻击者就可以通过以下URL变量之一发动攻击:
  
   if ((isset($no_http_headers) ? $no_http_headers : false) != true) {
     /* we don't want these pages cached */
     header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
     ...
     header("Pragma: no-cache");
        
     /* initilize php session */
     session_start();
    
     /* detect and handle get_magic_quotes */
     if (!get_magic_quotes_gpc()) {
       function addslashes_deep($value) {
         $value = is_array($value) ? array_map('addslashes_deep',
                    $value) : addslashes($value);
         return $value;
       }

       $_POST = array_map('addslashes_deep', $_POST);
       $_GET = array_map('addslashes_deep', $_GET);
       $_COOKIE = array_map('addslashes_deep', $_COOKIE);
     }
     ...
   }

因为没有调用session_start(),就没有创建_SESSION superglobal。由于register_globals,攻击者可以覆盖_SESSION["sess_user_id"]或其他会话变量。

这意味着任何来自以下的请求:
  
     Cookie: _SESSION[sess_user_id]=1;no_http_headers=1;
  
都会自动登陆为用户1(通常为管理员)。

此外,no_http_headers切换会在_GET、_POST和_COOKIE上禁用自动addslashes()。如果关闭了magic_quotes_gpc的话,就会在登录公式中导致SQL注入。

远程攻击者可以利用这个漏洞获得管理访问权限。

<*来源:Stefan Esser (s.esser@ematters.de
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=112033702132693&w=2
*>

建议:
厂商补丁:

Raxnet
------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载0.8.6f版本:

http://www.cacti.net/download_cacti.php

浏览次数:4042
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障