漏洞盒子/Zabbix SQL注入漏洞分析_小白白帽子教程

漏洞盒子/Zabbix SQL注入漏洞分析_小白白帽子教程

sql注入漏洞爆出来已有好几天了,最近忙于安全盒子用户中心的设计,一直没有去研究这个注入,今天早起,闲暇时间写下该文。

简介

是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

影响版本

2.0.x3.0.x

我这里的分析的版本是3.0.3,据说3.0.4已修复该漏洞。

漏洞分析

在jsrpc.php中从url中获取了type,并且把$赋值给了$data,相关代码(第24行开始):

随后40行有一些条件,不满足就会exit,但是很好绕过,代码如下:

再往下是一个传入$data['']的语句,部分代码如下(第46行开始):

zabbix漏洞_漏洞盒子_rce漏洞和cve漏洞

第181行传入::($data);,代码如下:

zabbix漏洞_rce漏洞和cve漏洞_漏洞盒子

跟进查看,发现的构造函数从url中接收了赋值给$this->并且带入::执行,代码如下:

rce漏洞和cve漏洞_漏洞盒子_zabbix漏洞

跟进函数,461行对进行了更新,但是并没有进行SQL查询:

然而最终造成SQL注入的是最后一行:

这个文件里第38行对进行了更新,代码如下:

跟进::flush(),把数据进行了遍历然后带入self::():

漏洞盒子_rce漏洞和cve漏洞_zabbix漏洞

跟进self::()即可看到$idx2没有过滤带入SQL查询:

rce漏洞和cve漏洞_zabbix漏洞_漏洞盒子

最后的()里面也只是调用了执行sql而已。

至此,SQL注入形成。

然后构造语句,满足各种条件,让程序按照逻辑进入该出,即可注入:

注入效果如图:

rce漏洞和cve漏洞_zabbix漏洞_漏洞盒子

这里是注入,而且没有单引号,直接使用xor()在里面用任意报错注入语句即可注入。

修复建议

~

网络安全学习,我们一起交流

~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值