zabbix注入过程分析

Zabbix jsrpc.php sql 注入过程分析

漏洞公开详情(https://support.zabbix.com/browse/ZBX-11023)中提示在insertDB() 中的insert方式存在SQL注入漏洞,如下图:

我们来逐步分析下

直接定位到cprofile:flush()函数所在的文件cprofile.php,代码如下。

在inserDB方法中。直接将self::$insert里的数组进行拆分遍历后放入了insert 语句中进行拼接。我们学过那么多的sql注入课程后,很快就能判断,如果在$insert值可控,那么我们就能在此处构造出sql注入

我们搜索下,调用了flush静态方法的有哪些文件:

看看page_footer.php这个文件吧。

现在要想进入到CProfile::flush()函数,还必须满足前提条件是CProfile::isModified()函数为真,再次回到CProfile.php文件,经过仔细分析,我们可以看到,当CProfile.php中的self::$insert 不为空,才可以正确走向我们预定的流程中,CProfile.php中的CProfile::update函数会将self::$insert进行赋值,搜索源码后,很多地方调用了CProfile::update,为此我们只要挑出可以被guest权限访问的即可。在Include/classes/screens/CScreenBase.php中如下代码

的calculateTime 函数中有调用。并且没有对$options进行过滤。对此我们需要顺藤摸瓜,构造出相应的参数来进行注入 。

接着,我们回到jsrpc.php可以看到如何调用到CScreenBase

中调用了CScreenBuilder::getScreen函数

当CScreenBuilder 中 

接着

最终,我们可以构造出一条完成的调用链

如下所示:

Jsrpc.php->CScreenBuild.php : getScreen -> CScreenHistory -> CScreenBase

当我们的参数可以使得程序按我们所需的流程进行走下去的话,必定会产生注入。

理解了上述过程然后开始下面的实验

按照上述注入分析,构造出注入语句以及参数。

时间: 2024-09-29 10:07:01

zabbix注入过程分析的相关文章

浅析Dragger2依赖注入实现过程

Dragger2是Android应用开发中一个非常优秀的依赖注入框架.本文主要通过结合Google给出的MVP开发案例todo-mvp-dagger(GitHub连接地址:https://github.com/googlesamples/android-architecture/tree/todo-mvp-dagger/),简要分析一下Dragger2的依赖注入实现过程. 如果是刚入手学习Dragger2,这里推荐三篇非常不错的连载文章:http://www.jianshu.com/p/cd2c

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

漏洞概述 zabbix是一个开源的企业级性能监控解决方案.近日,zabbix的jsrpc的profileIdx2参数存在insert方式的SQL注入漏洞,攻击者无需授权登陆即可登陆zabbix管理系统,也可通过script等功能轻易直接获取zabbix服务器的操作系统权限. 影响程度 攻击成本:低 危害程度:高 是否登陆:不需要 影响范围:2.2.x, 3.0.0-3.0.3.(其他版本未经测试) 漏洞测试 在zabbix地址后面添加这串url jsrpc.php?type=9&method=s

zabbix再爆高危SQL注入漏洞,可获系统权限

漏洞概述 zabbix是一个开源的企业级性能监控解决方案.近日,zabbix的jsrpc的profileIdx2参数存在insert方式的SQL注入漏洞,攻击者无需授权登陆即可登陆zabbix管理系统,也可通过script等功能轻易直接获取zabbix服务器的操作系统权限. 官方网站 http://www.zabbix.com 影响程度 攻击成本:低 危害程度:高 是否登陆:不需要 影响范围:2.2.x, 3.0.0-3.0.3.(其他版本未经测试) 漏洞测试 在您的zabbix的地址后面加上如

Zabbix sql注入漏洞脚本执行反弹shell

exp检测是否存在SQL注入漏洞[email protected]:~# python zabbix.py http://ip:9090/+------------------------------------------------------------+ Python Zabbix<3.0.4 SQL注入 Exploitsuccess+------------------------------------------------------------+Zabbix 存在SQL注入漏洞

zabbix(sql注入判断脚本)

#-*-coding:utf-8-*- # code by anyun.org import urllib import re def getHtml(url): page = urllib.urlopen(url) html = page.read() html = html.replace('\n', '') html = html.replace(' ', ' ') html = html.replace(' ', '') html = html.replace(' ', '') retu

Zabbix的前台SQL注射漏洞利用

今年8月份Map在wooyun上发了个Zabbix某前台SQL注射漏洞 ,11月份才公开. 漏洞详情大约是这样的: 在zabbix前端存在一个SQL注射漏洞,由于zabbix前台可以在zabbix的server和client进行命令执行,所以这会导致很严重的后果. 在 /chart_bar.php 的163行代码 获取了一个来自GET,POST,COOKIE的值itemid. $itemid = $item['itemid']; 最后这个参数进到了SQL查询的过程 在同一个文件内的$period

Zabbix最新SQL注射漏洞利用

freebuf刚爆Zabbix的sql注入:http://www.freebuf.com/vuls/112197.html 漏洞测试: 爆用户名和密码: http://192.168.1.13/zabbix/jsrpc.php?type=9&method=screen.get&timestamp=1471403798083&pageFile=history.php&profileIdx=web.item.graph&profileIdx2=(select (1) f

Zabbix-20160817-高危SQL注入漏洞

漏洞概述: zabbix是一个开源的企业级性能监控解决方案.近日,zabbix的jsrpc的profileIdx2参数存在insert方式的SQL注入漏洞,攻击者无需授权登陆即可登陆zabbix管理系统,也可通过script等功能轻易直接获取zabbix服务器的操作系统权限. 但是无需登录注入这里有个前提,就是zabbix开启了guest权限.而在zabbix中,guest的默认密码为空.需要有这个条件的支持才可以进行无权限注入. 影响程度: 攻击成本:低 危害程度:高 是否登陆:不需要 影响范

Chromium扩展(Extension)的Content Script加载过程分析

Chromium的Extension由Page和Content Script组成.Page有UI和JS,它们加载在自己的Extension Process中渲染和执行.Content Script只有JS,这些JS是注入在宿主网页中执行的.Content Script可以访问宿主网页的DOM Tree,从而可以增强宿主网页的功能.本文接下来分析Content Script注入到宿主网页执行的过程. 老罗的新浪微博:http://weibo.com/shengyangluo,欢迎关注! 我们可以在