首页 网络安全 安全学院 查看内容

Cacti多个SQL注入漏洞

2005-8-24 12:09 658 0

摘要: 受影响系统:Raxnet Cacti <= 0.8.6e不受影响系统:Raxnet Cacti 0.8.6f描述:----------------------------------------...
关键词: 厂商 Cacti Raxnet 升级补丁 补丁 download 目前 已经 版本 建议

受影响系统:Raxnet Cacti <= 0.8.6e不受影响系统:Raxnet Cacti 0.8.6f描述:--------------------------------------------------------------------------------BUGTRAQ  ID: 14128Cacti是一款轮循数据库(RRD)工具,可帮助从数据库信息创建图形,有多个Linux版本。Cacti中存在多个SQL注入漏洞:   /* ================= input validation ================= */   input_validate_input_regex(get_request_var("rra_id"), "^([0-9]+|all)$");   input_validate_input_number(get_request_var("local_graph_id"));   /* ==================================================== */      if ($_GET["rra_id"] == "all") {     $sql_where = " where id is not null";   }else{     $sql_where = " where id=" . $_GET["rra_id"];   }   这段代码看起来是安全的,因为它在向SQL查询中注入rra_id请求参数之前检查了参数是数字或是字符串“all”。但在get_request_var()实现中:      function get_request_var($name, $default = "")   {     if (isset($_REQUEST[$name]))     {       return $_REQUEST[$name];     } else     {       return $default;     }   }   这意味着实际上是对$_REQUEST["rra_id"]而不是$_GET["rra_id"]的内容应用了过滤。$_REQUEST是$_GET,$_POST和$_COOKIE数组合并的版本,因此相同名称的数组key会在$_REQUEST中相互覆盖。在PHP的默认配置中合并顺序是GPC,这意味着如果请求中同时包含$_GET["rra_id"]和$_POST["rra_id"]的话,仅有张贴的值会在$_REQUEST数组中结束,因此攻击者可以通过在URL中提供攻击字符串以及通过POST或COOKIE提供特制字符串,绕过几乎所有的过滤。<*来源:Stefan Esser ([email protected])    链接:http://marc.theaimsgroup.com/?l=bugtraq&m=112033853117909&w=2*>建议:--------------------------------------------------------------------------------厂商补丁:Raxnet------目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载0.8.6f版本:http://www.cacti.net/download_cacti.php
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部