用友NC6.5 FileReceiveServlet.class 任意文件上传漏洞分析及复现

admin 2023年10月20日01:11:54评论173 views字数 641阅读2分8秒阅读模式
用友NC6.5 FileReceiveServlet.class 任意文件上传漏洞分析及复现

环境配置

l 系统:Winserver2016

l 数据库:Oracle11G

l JDK:java 1.7.0_51

l 复现版本:用友NC6.5

用友NC6.5 FileReceiveServlet.class 任意文件上传漏洞分析及复现

源码分析

Jar包所在目录为:yonyouNC6.5/modules/uapss/lib/pubuapss_fwsearchIILevel-1.jar

类对应的路径为:

/com/yonyou/ante/servlet/FileReceiveServlet.class ,类方法代码如下图所示:

用友NC6.5 FileReceiveServlet.class 任意文件上传漏洞分析及复现

可以看到无论是Get方法和Post方法都调用了

this.handleRequest(),追踪进去看看。

handleRequest()方法代码如下图所示:

用友NC6.5 FileReceiveServlet.class 任意文件上传漏洞分析及复现

通过readObject进行反序列化后,将反序列化后的结果转换为Map类型,其中Map的键为String、值为Object。再获取metaInfo的“TARGET_FILE_PATH”和“FILE_NAME”属性来当作path和filename,最后将request中的二进制数据当作文件的内容进行写入。可以看到在整个文件上传的过程中,并没有对文件的后缀或者内容做任何限制,所以我们可以通过这个漏洞在任意目录下写入任意内容的任意后缀文件。

用友NC6.5 FileReceiveServlet.class 任意文件上传漏洞分析及复现

漏洞验证

构造的数据包如下图所示:

用友NC6.5 FileReceiveServlet.class 任意文件上传漏洞分析及复现

发送数据包,即可在相应路径下看到该文件如下图所示:

用友NC6.5 FileReceiveServlet.class 任意文件上传漏洞分析及复现

蚁剑连接成功如下图所示:

用友NC6.5 FileReceiveServlet.class 任意文件上传漏洞分析及复现
用友NC6.5 FileReceiveServlet.class 任意文件上传漏洞分析及复现

用友NC6.5 FileReceiveServlet.class 任意文件上传漏洞分析及复现
公众号:
刑天攻防实验室

扫码关注 了解更多内容

用友NC6.5 FileReceiveServlet.class 任意文件上传漏洞分析及复现

原文始发于微信公众号(刑天攻防实验室):用友NC6.5 FileReceiveServlet.class 任意文件上传漏洞分析及复现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月20日01:11:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   用友NC6.5 FileReceiveServlet.class 任意文件上传漏洞分析及复现https://cn-sec.com/archives/2128246.html

发表评论

匿名网友 填写信息