×

扫描二维码登录本站

QQ登录

只需一步,快速开始

分析Zabbix高危SQL注入漏洞  

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

0x03 漏洞测试
在zabbix的地址后面添加:
  • 利用方式一

0?wx_fmt=png.jpg
如果出现下列代码则证明漏洞存在
0?wx_fmt=png.jpg
  • 利用方式二

0?wx_fmt=png.jpg
如果出现下列代码则证明漏洞存在
0?wx_fmt=png.jpg
0x04 实战测试
测试的一个Japan站
0?wx_fmt=png.jpg
0?wx_fmt=png.jpg
可获得最高权限
0x05 代码分析
zabbix 2.2.14
  • 首先从poc中的jsrpc.php文件入手,找到profileIdx2参数

0?wx_fmt=png.jpg
在看这段代码的时候各种跑偏,一度追着
0?wx_fmt=png.jpg
这几句代码死磕,看到zabbix-2.2.14/frontends/php/include/classes/screens/CScreenBuilder.php,在public static function getScreen(array $options = array())函数中没有找到可以造成漏洞的交互点,太菜了!!!
然后去请教表哥,表哥提示问题出现在flush中
根据表哥的提示,在page_footer.php中发现CProfile类的flush方法
0?wx_fmt=png.jpg
在profiles.inc.php中找到了flush函数
0?wx_fmt=png.jpg
参数传入下面的insertDB函数,从而导致了注入的产生
0?wx_fmt=png.jpg
0x06 漏洞修复
  • 版本升级
  • 打补丁
  • 关闭guest

0x07 后记
这里还有好多东西没有搞懂,毕竟太菜了
注:部分漏洞信息收集自网络
作者:secange





上一篇:30分钟快速学习zabbix——最简单有效入门方法
下一篇:如何设置短信报警--分布式监控系统 Zabbix-3.0.3
monicazhang

写了 2297 篇文章,拥有财富 12859,被 21 人关注

您需要登录后才可以回帖 登录 | 立即注册
B Color Link Quote Code Smilies
手机版|小黑屋|最新100贴|论坛版块|ITIL先锋论坛 |粤ICP备11099876号|网站地图
Powered by Discuz! X3.4 Licensed  © 2001-2017 Comsenz Inc.
返回顶部