通达OA未授权任意文件上传及文件包含导致远程代码执行漏洞

0x00 前言

通达OA(Office Anywhere网络智能办公系统)是由北京通达信科科技有限公司自主研发的协同办公自动化软件,是与中国企业管理实践相结合形成的综合管理办公平台。

0x01 漏洞简介及影响版本

3月13日,通达OA在官方论坛发布通告称,近日接到用户反馈遭到勒索病毒攻击,提示用户注意安全风险,并且于同一天对所有版本发布了加固补丁。

通达OA V11版 <= 11.3 20200103
通达OA 2017版 <= 10.19 20190522
通达OA 2016版 <= 9.13 20170710
通达OA 2015版 <= 8.15 20160722
通达OA 2013增强版 <= 7.25 20141211
通达OA 2013版 <= 6.20 20141017

0x02 漏洞分析

  • 根据官方补丁可以推断出大概的漏洞位置。
  • 漏洞主要分为两个点,一个是文件上传,一个是文件包含。

文件上传

ispirit/im/upload.php

要上传首先需要绕过登陆验证,在本系统中auth.php是登陆验证的相关逻辑,但在upload.php未修复前,如果$P非空就不需要经过auth.php验证即可执行后续代码。利用此处逻辑漏洞可绕过登陆验证直接上传文件。

因上传后的文件不在根目录,所以无法直接利用,因此需要进行文件包含

文件包含

ispirit/interface/gateway.php

这个和上传相反,只要没有P参数即可无需验证。

未修复前,可通过精心构造json进入47行的includ_once进行文件包含。官方在补丁中增加了对”..”的过滤防止用户读取其他目录文件。

根据代码逻辑构造参数即可上传任意文件,但文件上传保存路径不在web目录中。

根据固定的目录结构可以推断出文件上传后的相对路径,组合文件上传+文件包含漏洞造成远程代码执行漏洞,且通达OA Web服务默认以系统服务方式运行(system权限),从而导致攻击者可以控制服务器权限。

0x03 修复建议

及时安装官方补丁

由于通达oa默认过滤了大部分执行命令的函数,所以想要执行命令请参考使用com组件绕过disable_function。

0x04 参考链接

http://club.tongda2000.com/forum.php?mod=viewthread&tid=128372

http://club.tongda2000.com/forum.php?mod=viewthread&tid=128377

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注