通达OA任意文件上传和文件包含漏洞导致RCE详细代码审计分析及Poc构造复现
字数 1956 2025-08-18 11:39:26
通达OA任意文件上传和文件包含漏洞导致RCE分析及复现
漏洞概述
通达OA系统存在两个高危漏洞组合可导致远程命令执行(RCE):
- 任意文件上传漏洞:影响通达OA 2013/2013增强/2015/2016/2017/v11版本
- 文件包含漏洞:影响通达OA v11版本
这两个漏洞组合利用可导致攻击者在未授权情况下上传Webshell并执行系统命令,默认以System权限运行。
漏洞背景
2020年3月,通达OA官方论坛发布紧急通知,多个用户反馈服务器遭到勒索病毒攻击,表现为:
- 主页被篡改
- 站点文件扩展名被修改
- 生成勒索提示文本文件
攻击者利用这两个漏洞组合上传Webshell后门,进一步释放勒索病毒。
漏洞分析
1. 任意文件上传漏洞 (ispirit\im\upload.php)
漏洞原理:
- 原代码中存在逻辑漏洞:当
$P参数存在且非空时,可绕过auth.php的登录验证 - 文件上传时对后缀名的检查不严格,仅检查是否为
.php,可通过.phtml、.cpt等绕过
补丁修复内容:
- 强制包含
auth.php进行登录验证 - 增加与数据库中的Session校验
漏洞利用条件:
P参数非空DEST_UID非空且为数字UPLOAD_MODE为1或2或3- 上传文件后缀名不为
.php
2. 文件包含漏洞 (ispirit/interface/gateway.php)
漏洞原理:
- 代码解析JSON数据时,如果
url键存在且值非空,且包含general/、ispirit/或module/路径 - 未对
../进行过滤,导致目录遍历 - 可包含之前上传的恶意文件
补丁修复内容:
- 增加对
..符号的检查,防止目录遍历
漏洞复现步骤
环境准备
- 通达OA v11.3版本
复现过程
-
利用任意文件上传漏洞上传Webshell
- 构造请求满足四个条件:
P参数非空DEST_UID非空且为数字UPLOAD_MODE为1/2/3- 上传文件后缀名不为
.php(如.phtml)
- 上传路径示例:
attach/im/2003/72566742.a.phtml
- 构造请求满足四个条件:
-
利用文件包含漏洞执行Webshell
- 通过
gateway.php包含上传的文件 - 使用
../进行目录遍历,包含上传的Webshell文件
- 通过
-
绕过disable_functions限制
- 通达OA开启了
disable_functions,禁用了常见命令执行函数 - 需要采用特殊方法绕过,如使用
LD_PRELOAD等技术
- 通达OA开启了
修复建议
-
官方补丁:
- 下载并安装对应版本的补丁:
- V11版: http://cdndown.tongda2000.com/oa/security/2020_A1.11.3.exe
- 2017版: http://cdndown.tongda2000.com/oa/security/2020_A1.10.19.exe
- 2016版: http://cdndown.tongda2000.com/oa/security/2020_A1.9.13.exe
- 2015版: http://cdndown.tongda2000.com/oa/security/2020_A1.8.15.exe
- 2013增强版: http://cdndown.tongda2000.com/oa/security/2020_A1.7.25.exe
- 2013版: http://cdndown.tongda2000.com/oa/security/2020_A1.6.20.exe
- 下载并安装对应版本的补丁:
-
临时缓解措施:
- 限制对
ispirit目录的访问 - 监控异常文件上传行为
- 定期检查服务器上的可疑文件
- 限制对
技术细节补充
文件上传黑名单绕过
通达OA仅检查后缀名是否为.php,可通过以下方式绕过:
.phtml.cpt.php5.pht
disable_functions绕过技术
通达OA禁用了常见命令执行函数,可参考以下绕过方法:
- LD_PRELOAD技术
- ImageMagick漏洞利用
- PHP-FPM利用
- 反序列化漏洞利用
参考资源
- 通达OA官方论坛公告: http://club.tongda2000.com/forum.php?mod=viewthread&tid=128367
- disable_functions绕过: https://www.cnblogs.com/-qing-/p/10944118.html
- 漏洞分析工具: https://github.com/SecurityCN/Vulnerability-analysis/tree/master/通达OA3月漏洞