文章总结: 本文分析致远OAA8-V9.0版本后台任意文件读取漏洞。漏洞位于AIEdocCorrectController,因downloadErrorReport方法未过滤fileName参数,导致路径穿越读取敏感文件。攻击者可构造路由直接利用该漏洞。官方补丁已通过限制文件名层级修复目录穿越问题。 综合评分: 85 文章分类: 漏洞分析,代码审计
致远 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 漏洞分析》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论