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(网友投票)