致远OA漏洞分析

admin 2026-01-01 05:11:05 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文分析致远OAA8-V9.0版本后台任意文件读取漏洞。漏洞位于AIEdocCorrectController,因downloadErrorReport方法未过滤fileName参数,导致路径穿越读取敏感文件。攻击者可构造路由直接利用该漏洞。官方补丁已通过限制文件名层级修复目录穿越问题。 综合评分: 85 文章分类: 漏洞分析,代码审计


cover_image

致远 OA 漏洞分析

Charming

安全白白

2025年12月31日 15:22 北京

Charming@深信服北京天雄战队

1.前言

前段时间拿到了某远的几套源码,审计了一下发现了这个洞,当时还以为是0day,后面一看官网有补丁,QWQ。

补丁:

https://seeyon-public.obs.cn-north-4.myhuaweicloud.com/2024/%E6%99%BA%E8%83%BD%E5%85%AC%E6%96%87%E4%BB%BB%E6%84%8F%E6%96%87%E4%BB%B6%E8%AF%BB%E5%8F%96%E6%BC%8F%E6%B4%9E%E8%A1%A5%E4%B8%81/%E6%99%BA%E8%83%BD%E5%85%AC%E6%96%87%E4%BB%BB%E6%84%8F%E6%96%87%E4%BB%B6%E8%AF%BB%E5%8F%96%E6%BC%8F%E6%B4%9E%E8%A1%A5%E4%B8%81-202408-S001-A8%26A6%26G6%26N_V8.2-V9.0.zip

2.漏洞介绍

漏洞环境:某远oa A8-8.2SP1

某远oa-AIEdocCorrectController-存在后台任意文件读取漏洞

3.漏洞分析

漏洞的地点在 AIEdocCorrectController 的 downloadErrorReport 方法 通过 传入 fileName 的值 可以直接控制 传入 IOUtility.copy(in, out); 的内容 并且没有任何过滤

接下来 看看 IOUtility.copy的具体 实现 , 很好 copy方法 也没有任何过滤。

IOUtility.copy(in, out); 之中的 in 从服务器端文件读取字节流, out 将字节流写入 HTTP 响应输出流,返回给客户端,实现文件下载。

路由:

AIEdocCorrectController Extends AIEdocController

AIEdocController Extends BaseController

所以说构造poc的话 访问 对应的路由 使用 method 直接调用对应的 方法就行

4.官网补丁

ok呀 现在看看官网 补丁看看他怎么修的

他这里直接使用 fileName = (new File(fileName)).getName(); 来获取filename 从而达到 过滤目录穿越的效果。

内容仅供学习使用,禁止非法渗透!!!!

本文首发先知社区:https://xz.aliyun.com/news/90961


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:安全白白 Charming《致远 OA 漏洞分析》

评论:0   参与:  0