Part 1
PS:本文僅用於技術討論與分析,嚴禁用於任何非法用途,違者後果自負。
昨晚在朋友圈看到有人發了一個通達OA的0day,但是沒有去驗證,直接轉到了綠帽子技術交流群裡。
Part 2
今天抽空看了一下,
先到官網(https://www.tongda2000.com/)
提供的下載地址是:
https://www.tongda2000.com/download/down.php?VERSION=2019&code=
默認提供的是11.7的最新版本,下載之後嘗試失敗。
Part 3
嘗試更改參數下載。
成功下載了四個版本,但是經過驗證,全部不能上傳webshell。在綠帽子群詢問了一番,經過 和你 大佬的提醒,指定版本11.6
下載地址:http://www.kxdw.com/soft/23114.html
部署成功之後,我使用burp代理抓包exp的請求。
上傳webshell成功,鏈接如圖所示。
Part 4
漏洞分析:
到目錄
D:\MYOA\webroot\module\appbuilder\assets
查看print.php文件
打開網頁:http://dezend.qiling.org/free.html 進行解密
內容如下:
$s_tmp = __DIR__ . '/../../../../logs/appbuilder/logs';
對 $s_tmp 進行賦值。
$s_tmp .= '/' . $_GET['guid'];
接著又對$s_tmp 進行累加賦值。
exp中 通過../../../webroot/inc/auth.inc.php,回到上層目錄,然後通過unlink() 函數刪除該參數傳遞的文件。
我們再看一下 auth.inc.php 文件 ,為什麼上傳webshell之前要先把它刪除呢。
看到開頭應該猜到了,這個文件是判斷用戶是否登陸的文件,如果沒有登陸就不能上傳,所以把這個文件刪掉就可以成功上傳webshell了。
原文地址:https://www.freebuf.com/articles/network/247265.html