首页
社区
课程
招聘
[原创]飞致云MeterSphere未授权RCE漏洞复现
发表于: 2022-2-1 15:26 863

[原创]飞致云MeterSphere未授权RCE漏洞复现

2022-2-1 15:26
863

影响范围:MeterSphere v1.13.0 - v1.16.3

可以去releases里面找以前的版本

image-20220109141800023

或者直接在官网下载也可以,建议下载离线版本

image-20220109141853685

随后下载到服务器并解压

image-20220109142037678

image-20220109142251712

直接运行install.sh即可

然后等待片刻即可,然后查看docker ps

image-20220109142347679

然后这个时候访问ip:8081端口即可,如果访问的时候提示超时或者其他情况,等待一下就行

image-20220109143053000

账号为admin密码为metersphere

image-20220109143034357

我们访问到插件管理后,burp抓到一个包,一个list包

image-20220109143411548

然后我们就可以发现,把cookie删掉,也是可以访问到这个接口

image-20220109143509040

那么这样,我们随意上传一个插件试试

image-20220109143542153

随后会抓到一个add的请求

image-20220109143706309

那既然这样,大概的流程如下

image-20220109144235307

通过在twitter中搜集信息和查看官方插件发现

image-20220109144347677

都用了io.metershpere.plugin.DebugSampler

那么我们直接在github里面搜索, 然后选择code就会发现一个github

https://github.com/metersphere/metersphere-plugin-DebugSampler

image-20220109144747965

随后我们先把这个项目下载到本地,mave重新打包一下

image-20220109151623819

然后直接上传这个插件

image-20220109151658698

然后点击查看脚本

image-20220109151812759

会抓到如下请求

image-20220109151849152

这里我想的是能否把这些返回信息改成返回执行的系统命令,或者去写那个自定义方法

我们可以看到这里留给了一个自定义的方法,可以编写自己的代码逻辑

image-20220109151859223

因为Java不太行,所以这里感谢zhzyker提供的jar包

我们将插件上传后可以去docker中查看日志

image-20220109152427548

我们可以看到这里的日志已经执行了

image-20220109152446756

然后我们构造如下请求

image-20220109152525352

即可执行任意命令

通过JD-GUI反编译jar包也可以看到,新建了一个cmd类,里面再customMethod方法里面写了执行请求过来的命令

image-20220109153503053

然后我们看官方的修复,发现新增了一行代码(虽然没有自己debug和看)

image-20220109153608411

并且删除了

image-20220109153729594

poc编写比较简单,只需要判断/plugin/list是否可读即可

image-20220109153236979

 
 
 
tar -zxvf metersphere-offline-installer-v1.13.0.tar.gz
tar -zxvf metersphere-offline-installer-v1.13.0.tar.gz
 
 
./install.sh
./install.sh
 
 
 
 
 
 
 
 
 
 
 
 
 

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//