這篇文章給大家介紹如何復(fù)現(xiàn)Tomcat樣列目錄session操控漏洞,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
公司主營業(yè)務(wù):成都網(wǎng)站制作、網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出昌邑免費做網(wǎng)站回饋大家。
復(fù)現(xiàn)起源:
近期在項目中碰到的ApacheTomcat中間件愈來愈多,于是乎。想著做一個整理。將ApacheTomcat中間件的幾大較為重要的高危漏洞做一個總結(jié)整理復(fù)現(xiàn)。用作來鞏固更新自己的知識庫。
題外話:今天我們復(fù)現(xiàn)Tomcat樣例目錄session操控漏洞。在實戰(zhàn)中也碰到過一些樣例目錄examples開放可以操控操控全局session的一些Tomcat。不過該漏洞挺雞肋的。可能這里因為我們的圈子問題,聽大佬說只有發(fā)布該漏洞的作者利用成功過,至今也沒見過有人利用成功。原因就是后面我們要編寫的三個后臺登陸頁面。
漏洞描述:
ApacheTomcat默認(rèn)安裝頁面中存在examples樣例目錄。里面存放著Servlets、JSP、WebSocket的一些服務(wù)腳本和接口等樣例。其中Servletsexamples服務(wù)樣例下存在一個session的樣例。該樣例可以允許用戶對session來進(jìn)行操控。因為session是全局通用的,所以也就可以利用該樣例下的session來操控管理員的session來進(jìn)行會話傳輸操控管理員的賬戶進(jìn)行惡意操作。
漏洞分析:
我們直接看核心代碼:
上面的這段session控制的核心代碼意思說的是用戶通過表單提交name和value兩個參數(shù)值。然后通過request里的getParameter()函數(shù)獲取name和value值。再通過session.setAttribute()函數(shù)將獲取到的name和value值傳遞到session里面。即可以在通過前端頁面去控制session值來獲取管理員權(quán)限。
漏洞復(fù)現(xiàn):
漏洞復(fù)現(xiàn)環(huán)境:
Tomcat7.0.88
JDK1.8.0_181
Burp2.0
這里以自己本地搭建的Tomcat版本為準(zhǔn)。也不必刻意尋找相對應(yīng)的Tomcat版本。
準(zhǔn)備好環(huán)境之后我們開始復(fù)現(xiàn)。
http://127.0.0.1:8080/examples/servlets/servlet/SessionExample
我們來到Examples樣例目錄下的servlets下的session執(zhí)行按鈕。
在Thefollowing data is in yoursession中我們來執(zhí)行name名稱和value值來獲取我們需要的session會話值。下面的GETbased form
我的理解就是通過GET傳值的方法來登陸。所以說這項我們就不用去關(guān)注了。
這里我們需要三個頁面來輔助我們完成這個漏洞的復(fù)現(xiàn)。因為在
Examples樣例目錄下默認(rèn)是沒有模擬登陸網(wǎng)站的頁面,所以我們需要這三個頁面來模擬通過操控session值來進(jìn)行模擬登陸網(wǎng)站的后臺獲取管理權(quán)限。
Login.jsp:
Index.jsp:
Login_test.jsp:
準(zhǔn)備好三個頁面后放置在examples樣例目錄下。我們就可以開始復(fù)現(xiàn)漏洞了。
首先我們模擬訪問index.jsp頁面,這時候他沒有獲取到admin的session值,所以代碼邏輯會做一個302跳轉(zhuǎn)重定向到login_test.jsp頁面。
接下來我們在樣例目錄下去獲取并且傳遞admin的session。
再進(jìn)行訪問index.jsp頁面。這時候獲取到了admin的session值。代碼邏輯即輸出一個登陸成功。
接下來我們訪問login.jsp頁面并通過post表單的方法傳遞一個賬戶的值進(jìn)去。即可發(fā)現(xiàn)跳轉(zhuǎn)到index.jsp。到此操控session來進(jìn)行繞過登陸復(fù)現(xiàn)完成。
漏洞修復(fù)方案:
禁止訪問或者直接刪除examples樣例目錄下的資源。做目錄訪問權(quán)限設(shè)置,防止目錄遍歷。
關(guān)于如何復(fù)現(xiàn)Tomcat樣列目錄session操控漏洞就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。