ZABBIX<= 1.8.1 DBcondition函数SQL注入漏洞

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

BUGTRAQ ID: 39148 CVE ID: CVE-2010-0686 zabbix是一个CS结构的分布式网络监控系统。 Zabbix API使用了include/db.inc.php中定义的DBcondition()函数来执行SQL查询中WHERE子句的条件。该函数没有对用户提供数据提供额外的检查: function DBcondition($fieldname, &$array, $notin=false, $string=false){ global $DB; $condition = ''; ---[cut]--- $in = $notin?' NOT IN ':' IN '; $concat = $notin?' AND ':' OR '; $glue = $string?"','":','; switch($DB['TYPE']) { case 'SQLITE3': case 'MYSQL': case 'POSTGRESQL': case 'ORACLE': default: $items = array_chunk($array, 950); foreach($items as $id => $values){ $condition.=!empty($condition)?')'.$concat.$fieldname.$in.'(':''; if($string) $condition.= "'".implode($glue,$values)."'"; else $condition.= implode($glue,$values); } break; } if(zbx_empty($condition)) $condition = $string?"'-1'":'-1'; return ' ('.$fieldname.$in.'('.$condition.')) '; } Zabbix API代码中多次使用了DBcondition()包含用户在SQL查询中所提供的参数,在class.cuser.php的认证过程中也使用了这个函数: class CUser extends CZBXAPI{ ---[cut]--- public static...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息