通达OA任意文件上传+文件包含导致RCE漏洞复现
0x00 漏洞简介
通达OA(Office Anywhere网络智能办公系统)是由北京通达信科科技有限公司自主研发的协同办公自动化系统,包括流程审批、行政办公、日常事务、数据统计分析、即时通讯、移动办公等。
该漏洞被黑产利用,用于投放勒索病毒
该漏洞在绕过身份验证的情况下通过文件上传漏洞上传恶意php文件,组合文件包含漏洞最终造成远程代码执行漏洞,从而导致可以控制服务器system权限。
0x01 影响版本
1 | V11版 |
0x02 利用条件
无需身份认证
- 任意文件上传
/ispirit/im/upload.php
- 本地文件包含
ispirit/interface/gateway.php
命令执行绕过
1 |
|
GetWebshell
1 |
|
php Zend 解码
http://dezend.qiling.org/free.html
0x03 漏洞原理
被授权的远程攻击者通过文件上传配合文件包含,触发远程恶意代码执行。系统中auth.php
是登陆验证的相关逻辑,upload.php
中$P参数如果非空就不需要经过auth.php
验证即可执行后续代码。利用此处逻辑漏洞可绕过登陆验证直接上传文件。攻击者可通过精心构造json
进入includ_once
进行文件包含。
0x04 环境搭建
本次实验所用版本是通达V11.3
链接:https://pan.baidu.com/s/1nm-kBi4zOwXDZFtjmf7n2Q
提取码:z863
下载好源码,解压缩后直接运行exe文件安装,访问靶机IP即可,界面如上图。
本机IP:192.168.150.142
0x05 漏洞复现
这里需要注意的是:有些版本的gateway.php
路径不同。
2013
1 | /ispirit/im/upload.php |
2017
1 | /ispirit/im/upload.php |
V11
1 | /ispirit/im/upload.php |
文件上传
任意文件上传漏洞路径/ispirit/im/upload.php
使用burp抓包,构造请求包,发送数据包可以看到成功上传
filename = 2004/1795480914.jpg
由于上传目录不在根目录所以还是需要另一个漏洞来进行文件包含。
文件包含
本地文件包含漏洞路径 /ispirit/interface/gateway.php
成功包含上面上传文件,并执行命令。
0x06 最后
这个漏洞复现花了很长时间,一开始不知道怎么构造数据包。
通达OA开启了 disable_funcation
功能 很多常见的命令执行函数如 exec
、eval
、system
等都被禁止了,需要bypass。这个我还不会,后面会找时间学习学习。