91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行Nuxeo認證繞過和RCE漏洞分析

發布時間:2021-12-22 23:19:39 來源:億速云 閱讀:165 作者:柒染 欄目:安全技術

如何進行Nuxeo認證繞過和RCE漏洞分析,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

  

簡介

Nuxeo Platform是一款跨平臺開源的企業級內容管理系統(CMS)。

nuxeo-jsf-ui組件處理facelet模板不當,當訪問的facelet模板不存在時,相關的文件名會輸出到錯誤頁面上,而錯誤頁面會當成模板被解析,文件名包含表達式也會被輸出同時被解析執行,從而導致遠程代碼執行漏洞。

在漏洞挖掘過程中發現nuxeo-jsf組件默認在10.2沒有安裝,歷史版本是默認就安裝的。可以通過nuxeoctl mp-install nuxeo-jsf-ui 命令安裝。

影響范圍

Nuxeo Server版本 < 10.3

漏洞復現

通過在官網下載Nuxeo 10.2的安裝包在本地安裝,使用默認密碼登陸Administrator/Administrator。

在登陸狀態下訪問test${11*11}.xhtml,可以看到表達式被執行

如何進行Nuxeo認證繞過和RCE漏洞分析

執行系統命令

Nuxeo 是構建在Seam Framework之上的, Seam是由Jboss開發的Web應用程序框架,在前幾年比較流行,但依然有很多應用程序使用了Seam。

當用EL來執行任意系統命令時,Seam內部對EL的解析有一定的防護,用下面的Payload可繞過。

${"".getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec("calc",null).toString()}        

如何進行Nuxeo認證繞過和RCE漏洞分析

認證繞過

在不登陸的情況下,是無法訪問facelet模板的,如果需要登陸才能命令執行,漏洞略顯得有點雞肋。發現可以通過

login.jsp/%24%7b%31%31%2a%31%31%7d.xhtml 繞過訪問。

如何進行Nuxeo認證繞過和RCE漏洞分析

認證繞過分析

通過查看web.xml配置文件,開發者為*.xhtml資源注冊了名為NuxeoAuthenticationFilter的過濾器和Faces Servlet。憑借經驗認證工作應該在filter處理。

通過調試發現,在NuxeoAuthenticationFilter類中的bypassAuth方法中有相關邏輯

如何進行Nuxeo認證繞過和RCE漏洞分析

進入到該方法中,unAuthenticatedURLPrefix是一個列表,值為["login.jsp","webservices/"] ,requestPag 只要以 unAuthenticatedURLPrefix 數組中的字符串開頭就不會驗證用戶身份。

如何進行Nuxeo認證繞過和RCE漏洞分析

根據注冊的Faces Servlet規則”*.html”, login.jsp/test.xhtml 肯定是匹配的,如果要對資源進行訪問控制肯定要先進入到訪問控制邏輯中的,但是訪問控制邏輯中只是通過startsWith方法來比較的,肯定也是符合的,所以login.jsp/test.xhtml這個路徑可以繞過NuxeoAuthenticationFilter認證控制進入到Faces Servlet(模版相關)中。

可能會問,那我使用/webservices/xx.xhtml是不是也可以繞過呢?答案是不可以。對/webservices/*資源注冊了另一個Servlet,一個請求只能被一個Servlet處理,這個注冊方式優先級更高。

RCE 分析

先來一張案發現場的圖,is變量含有用戶可控的內容進入到了parse方法中。

如何進行Nuxeo認證繞過和RCE漏洞分析

src的handler為NuxeoNotFoundResourceHandler,看下實現,

如何進行Nuxeo認證繞過和RCE漏洞分析

getInputStream中的錯誤信息中包含表達式,也會進入parse方法中執行, 即請求的路徑不存在時將會把路徑當成源內容返回給調用者,這里就會進入到模版的parse方法中,然后就被解析執行了。

如何進行Nuxeo認證繞過和RCE漏洞分析

補丁分析

https://github.com/nuxeo/nuxeo/commit/eb54a9145c6d8297eba9d7dafc74556e735fa388#diff-cf2094833ef0eea473d03bf6559f1798R97

這是通過過濾的方式修復的,在getInputStream中,只有當路徑中不包含”#”和”$”時才會把路徑輸出到輸入流中,這樣就無法執行EL了。

如何進行Nuxeo認證繞過和RCE漏洞分析

看完上述內容,你們掌握如何進行Nuxeo認證繞過和RCE漏洞分析的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

rce
AI

湄潭县| 湘潭市| 噶尔县| 铁力市| 连云港市| 长垣县| 湘潭县| 塔河县| 平遥县| 青龙| 潢川县| 南和县| 红原县| 九江县| 遵义市| 本溪市| 封开县| 景宁| 延吉市| 福贡县| 土默特左旗| 莱州市| 莎车县| 洛南县| 商洛市| 册亨县| 田东县| 大埔县| 南康市| 兰西县| 额尔古纳市| 鄂托克前旗| 喀喇| 宾阳县| 磐石市| 宜川县| 长顺县| 涡阳县| 布尔津县| 潮州市| 达拉特旗|