CVE-2022-23131——绕过 SAML SSO 身份验证

2023-11-09 02:59

本文主要是介绍CVE-2022-23131——绕过 SAML SSO 身份验证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

漏洞描述

安全断言标记语言 (SAML) 是最常见的单点登录 (SSO) 标准之一。围绕 XML 实现,它允许身份提供者(IdP,一个能够对用户进行身份验证的实体)告诉服务提供者(SP,这里是 Zabbix)你是谁。您可以将Zabbix Web 前端配置为允许通过 SAML 进行用户身份验证,但默认情况下不启用它,因为它需要了解身份提供者的详细信息。这是企业部署最常见的设置。

在启用 SAML SSO 身份验证的实例上,它允许绕过身份验证并获得管理员权限。攻击者可以使用此访问权限在链接的Zabbix Server和Zabbix Agent实例上执行任意命令。

在这里插入图片描述

影响范围

Zabbix Web 前端版本包括

  • 5.4.8
  • 5.0.18
  • 4.0.36

漏洞分析

与 SAML 身份验证机制相关的代码可以在index_sso.php中找到。简而言之,它的目标是:

  • 将用户重定向到 IdP;
  • 用户通过身份验证后,验证传入 SAML 有效负载的格式和签名。创建一个名为saml_data的会话条目来记住用户的属性;
  • 如果会话中存在名为saml_data的条目,则提取其值并根据username_attribute的值在 Zabbix 上对用户进行身份验证。
    index_sso.php
 if (CSessionHelper::has('saml_data')) {$saml_data = CSessionHelper::get('saml_data');CWebUser::$data = API::getApiService('user')->loginByUsername($saml_data['username_attribute'],(CAuthenticationHelper::get(CAuthenticationHelper::SAML_CASE_SENSITIVE) == ZBX_AUTH_CASE_SENSITIVE),CAuthenticationHelper::get(CAuthenticationHelper::AUTHENTICATION_TYPE));

漏洞利用

漏洞利用很简单,特别是因为Zabbix Web 前端自动配置了一个名为Admin的高权限用户。

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

在这里插入图片描述

参考视频:https://youtu.be/5dci1i6Fq3M?t=22

一旦在仪表板上被认证为管理员,攻击者可以在任何附加的Zabbix Server上执行任意命令,如果在配置中明确允许AllowKey=system.run[*](非默认) ,则可以在Zabbix Agents上执行。

1、replace [zbx_signed_session] to [cookie]
在这里插入图片描述
2、sign in with Single Sign-On (SAML)
在这里插入图片描述
绕过登录进入后台
在这里插入图片描述

EXP

关注公众号后台回复“CVE-2022-23131”获取
在这里插入图片描述

这篇关于CVE-2022-23131——绕过 SAML SSO 身份验证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/373704

相关文章

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Go语言中使用JWT进行身份验证的几种方式

《Go语言中使用JWT进行身份验证的几种方式》本文主要介绍了Go语言中使用JWT进行身份验证的几种方式,包括dgrijalva/jwt-go、golang-jwt/jwt、lestrrat-go/jw... 目录简介1. github.com/dgrijalva/jwt-go安装:使用示例:解释:2. gi

SQL Server身份验证模式步骤和示例代码

《SQLServer身份验证模式步骤和示例代码》SQLServer是一个广泛使用的关系数据库管理系统,通常使用两种身份验证模式:Windows身份验证和SQLServer身份验证,本文将详细介绍身份... 目录身份验证方式的概念更改身份验证方式的步骤方法一:使用SQL Server Management S

小技巧绕过Sina Visitor System(新浪访客系统)

0x00 前言 一直以来,爬虫与反爬虫技术都时刻进行着博弈,而新浪微博作为一个数据大户更是在反爬虫上不遗余力。常规手段如验证码、封IP等等相信很多人都见识过…… 当然确实有需要的话可以通过新浪开放平台提供的API进行数据采集,但是普通开发者的权限比较低,限制也比较多。所以如果只是做一些简单的功能还是爬虫比较方便~ 应该是今年的早些时候,新浪引入了一个Sina Visitor Syst

frida检测绕过-libmsaoaidsec.so

libmsaoaidsec.so 部分检测手段 检测机制在native层实现一般在init_proc()函数中触发使用 pthread_create 创建2个检测线程 绕过: nop pthread_create 的调用 eg: 在 bilibil1 - v7.26.1版本中, 在got表导入了pthread_create 绕过: 替换dlsym(xx, "pthread_create ")的返

vulhub GhostScript 沙箱绕过(CVE-2018-16509)

1.执行以下命令启动靶场环境并在浏览器访问 cd vulhub/ghostscript/CVE-2018-16509 #进入漏洞环境所在目录   docker-compose up -d #启动靶场   docker ps #查看容器信息 2.访问网页 3.下载包含payload的png文件 vulhub/ghostscript/CVE-2018-16509/poc.png at

上海大学《2022年836+915自动控制原理真题及答案》 (完整版)

Part1:2022年上海大学真题题目 学硕836 专硕915 Part2:2022年上海大学真题答案 学硕836 专硕915

【webdriver 识别】webdriver 识别绕过原理与实战

目标网站:http://www.porters.vip/features/webdriver.html 获取 点击查看详情里面的内容 我们先用selinum 试试,直接定位按钮,渲染出来。 # -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.chrome.options import

【算法 2022】高效有用的机器学习算法和 Python 库

2022年已经到来,在此祝大家虎年大吉!2022年,下面几种机器学习算法和 Python 库将在未来更受欢迎!让我们花个几分钟一起来了解下: 一、CatBoost CatBoost 可能是最新的算法,因为它随着越来越流行而不断更新。这个机器学习算法对于处理分类数据的数据科学家特别有用。您可以考虑 Random Forest 和 XGBoost 算法的优点,CatBoost 具有它们的大部分优点