您好,登錄后才能下訂單哦!
這篇文章主要介紹了Jenkins任意文件讀取CVE-2018-1999002漏洞的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
Jenkins官方發布最新安全通告,披露多個安全漏洞。其中,SECURITY-914是由Orange發現的Jenkins未授權任意文件讀取漏洞,存在高危風險。
利用該漏洞,攻擊者可以讀取Windows系統服務器中的任意文件,且在特定而條件下也可以讀取Linux系統服務器中的文件。通過利用該文件讀取漏洞,攻擊者可以獲取Jenkins系統的憑證信息,導致用戶的敏感信息遭到泄露。同時,Jenkins的部分憑證可能與其用戶的帳號密碼相同,攻擊者獲取到憑證信息后甚至可以直接登錄Jenkins系統進行命令執行操作等。
誰應該讀這個 | 使用Jenkins的開發者和用戶 |
---|---|
漏洞的影響 | 在Jenkins的Stapler Web框架中存在任意文件讀取漏洞。惡意攻擊者可以通過發送精心構造的HTTP請求在未經授權的情況下獲取Jenkin主進程可以訪問的Jenkins文件系統中的任意文件內容。 |
危害程度 | 高危 |
建議 | · 將您的Jenkins weekly升級至2.133版本。 · 將您的Jenkins LTS升級至2.121.2版本。 |
受影響的軟件 | · Jenkins weekly 2.132 及此前所有版本 · Jenkins LTS 2.121.1 及此前所有版本 |
CVE 標識符 | CVE-2018-1999002 |
三、 搭建環境
安裝漏洞影響范圍內的Jenkins版本: Jenkins weekly 2.132及此前所有版本Jenkins LTS 2.121.1及此前所有版本,此處使用的是Jenkins LTS 2.121.1。
首先把jenkins的war包下載后放在tomcat webapps目錄下,啟動后自動解壓war包或安裝msi版本,或使用git從GitHub下載war包。
啟動tomcat,訪問http://localhost:8080,如果8080默認端口被占用,則可以在Jenkins安裝路徑下的Jenkins.xml文件中修改端口后訪問。打開頁面后需要解鎖jenkins。在安裝目錄下找到initialAdminPassword文件復制密碼輸入到password輸入框,點擊continue即可進行下一步操作。
安裝插件后使用管理員進行登錄,環境搭建完成。
四、 觸發條件
1. 進行全局安全配置,開啟匿名具有可讀權限。
五、 漏洞分析
doDynamic這里用來處理請求中的包含的路徑,比如/plugin/xxxx。
跟入request.getLocale(),跳至Request.java
getLocale()處理Http中的Accept-Language,根據-分為language和country,language為zh,country為cn,然后return Locale(language,country),如果不存在-,language即可使用../遍歷,這時返回的結果即為Locale(language,””)。
再看Stapler.java中的LocaleDrivenResourceSelector類的open方法,從注釋來看,這段代碼本身根據Accept-Language來返回不同文件,比如請求為/plugin/credentials/.ini,payload為_../../../../../../../../../../../windows/win,在linux下需要plugin下存在-名稱目錄可利用,但win下直接可以通過路徑穿越繞過,達到任意文件讀取效果。
六、 修復建議
1. 將您的Jenkins weekly升級至2.133版本,將您的Jenkins LTS升級至2.121.2版本。
2.如果您暫時不希望通過升級Jenkins版本解決該漏洞,建議您使用Web應用防火墻的精準訪問控制功能對您的業務進行防護。
通過精準訪問控制功能,針對Accept-Language這個HTTP請求頭設置阻斷規則過濾該請求頭中包含 ../的請求,防止攻擊者利用該漏洞通過目錄穿越讀取任意文件。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Jenkins任意文件讀取CVE-2018-1999002漏洞的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。