这个漏洞是今年2月份出现的,他的影响范围也是非常广的。

2月20日,国家信息安全漏洞共享平台(CNVD)发布了Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938),这个漏洞是由于Tomcat AJP协议存在缺陷而导致,而攻击者利用该漏洞通过构造特定参数,读取服务器webapp下的任意文件,若目标服务器存在文件上传功能,攻击者可以进一步实现远程代码执行。

漏洞复现步骤

1. docker启动环境

2. Python2 poc.py 172.18.0.2 -p 8009 -w manager -f /WEB-INF/web.xml

我们首先去启动vnlhub

然后启动docker

启动docker之后我们到vnlhub下面去

然后cd到tomcat

Ls查一下,vulhub已经给我们结成好了CVE-2020-1938这一个漏洞的环境,我们cd进去拖取一下这个环境就可以了。

这个时候我们在去本地浏览器上去访问一下,访问我们的虚拟机地址8080端口,然后我们进一步的去查看一下虚拟机的ip地址。

我们在去看一下端口是不是8080 cat README

在这里我们没有访问到,那么我们换一个浏览器

那么这个就是我们CVE-2020-1938所影响的一个环境,而这个漏洞我们也把它叫做幽灵猫漏洞。

接下来让我们一起去复现它。

我们需要去利用到一个脚本,在这个脚本里是编写了这个漏洞攻击的代码。然后我们跟上目标的地址,加上ajp协议端口,加上-w manager -f 能够通过这样一个漏洞我们就能够去读取它下面的web xml文件

我们利用Python2的环境

跟上容器的ip地址,那这个容器的ip地址我们这里把它改为容器的ip地址

如果我们不知道去哪里去查看这个容器的ip地址,那么我们直接跟上虚拟机的地址,跟上-p 8009端口一样也是可以的

那么我们就可以通过这样的一个漏洞利用的脚本,跟上这样的读取参数来去读取对方服务器下面的web.xml文件,我们可以看到我们能够成功的读取这个文件的结果出来,这个也是通过文件包含的一个漏洞来去达到这样的一个目的。

如果我们想进一步的去getshell该怎么办呢?

如果我们需要getshell的话是需要对方有这样的一个上传功能,在这里我们首先生成一个木马通过kali。

我们在这里生成一个java的反向连接的木马。

这个时候我们需要将这个木马上传到服务器,由于我们这里没有这个上传功能,所以我们这里就直接把这个木马复制过去。

在这里有一个txt文件,按道理来说是不解析的,但我们可以通过文件包含漏洞来去解析txt中的木马,然后我们主机远程上线。

这个时候我们在去打开msf来去开启 监听,那么对方包含这个文件的时候,我们主机在kail这里就可以成功上线。

我们设定一个java代码,并且是一个反向连接的代码。

那么我们在设定反弹过来的ip,也就是跟我们木马中的一致。

这个时候我们run一下开始监听,这个时候就已经开始监听了。

然后我们在这里通过脚本去成功执行,利用我们的幽灵猫漏洞

-f直接指定这样一个本地文件包含,回车。

回车过后我们可以看到我们的kail里面,它就会获取这样的一个反向连接,反向连接从我们的容器连接到我们的kail里面来,此刻我们去执行下命令id,可以发现我们现在是root身份,那么我们在这里就可以获得一个权限。

获得目标的一个执行命令权限,成功的拿到了shell。

那么这就是这个文件包含配合上传的一个getshell的利用方式。

java怎么知道上传文件是否成功_文件包含漏洞之——tomcat CVE-2020-1938漏洞复现相关推荐

  1. java 图片分段上传_java实现分段读取文件并通过HTTP上传的方法

    本文实例讲述了java实现分段读取文件并通过HTTP上传的方法.分享给大家供大家参考.具体如下: 1.首先将文件分段,用RandomAccessFile 2.分段后将分出的内容上传到http URL ...

  2. java短视频上传阿里云流程_短视频上传

    启动上传前需要设置上传回调,需要实现VODSVideoUploadCallback回调:vodsVideoUploadClient.uploadWithVideoAndImg(vodSessionCr ...

  3. java获取ajax上传的文件,Java使用Ajax异步上传文件

    相关代码示例: html代码片段: 名称 class="layui-input"> 描述 文件 请选择配置文件 立即提交 重置 js代码片段: //上传配置文件 $(&quo ...

  4. java使用uploadify上传文件

    一.简介 Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示:可以上传多个文件: 详细的使用方法网上有很多,建议到官网参考,这里仅仅展示其使用的效果: 官网:www.upl ...

  5. Java Client/Server 上传文件到服务器与保存文件到本地

    新年第一章,祝大家新年快乐. ----------------------------------------------------------------------- 这个是我们的Java期末考 ...

  6. java ftp定时上传_ftp自动删除,ftp自动删除文件、定时上传文件的方式及java环境配置...

    IIS7服务器管理工具具备所有服务器管理工具的功能,比如批量管理.同时它还有很多的自主研发功能.比如同步操作.到期提醒.数据安全和定期执行.当然适用的系统也有Windows和liunx操作系统.还支持 ...

  7. java web 文件上传_Javaweb学习笔记10—文件上传与下载

    今天来讲javaweb的第10阶段学习.文件的上传与下载,今天主要说的是这个功能的实现,不用说了,听名字就是外行人也知道肯定很重要啦. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思 ...

  8. java实现MinIO文件上传,并将视频文件截图,将视频封面及视频通过MinIo上传到服务器中

    java实现MinIO文件上传,并将视频文件截图,将视频封面及视频通过MinIo上传到服务器中 配置完毕,接下来开始代码编写. 说明 总过程分为两步. 1.配置MinIO的环境. 2.代码编写. 下面 ...

  9. java实现动态上传多个文件并解决文件重名问题

    java实现动态上传多个文件并解决文件重名问题 参考文章: (1)java实现动态上传多个文件并解决文件重名问题 (2)https://www.cnblogs.com/skycodefamily/p/ ...

最新文章

  1. 【iOS】自定义日期选择器
  2. 多才多艺的console
  3. 网站运行java_定制化Azure站点Java运行环境(5)
  4. JavaScript知识笔记(三)——内置对象、浏览器对象
  5. java 6789的10000次方,用MSSQL计算2的10000次方
  6. 全网最全console命令解析总结
  7. python excel 颜色填充 excel样式
  8. macOS 卡顿或无法启动怎么办?教你重置Mac苹果SMC、NVRAM、PRAM
  9. 包子笔记 - 关于沉没成本
  10. Leetcode 击碎气球的最大分数
  11. 使用虚拟机搭建Centos7
  12. 讯飞语音包实现Android语音合成
  13. python提取电子发票_Python办公自动化—电子发票台账制作自动化(3)
  14. Flak-SQLAlchemy安装和介绍
  15. JDBC之execute、executeQuery和executeUpdate之间的区别
  16. 【Python】list写入txt文件
  17. 降噪耳机哪个牌子好?商务用蓝牙降噪耳机推荐
  18. arduino/Mixly使用MAX6675热电偶传感器
  19. ASEMI二极管整流桥GBU610的作用
  20. Unity的Gizmos画线

热门文章

  1. php 安全mysql,关于php:我从mysql注入安全吗?
  2. android aar jar制作,AndroidStudio aar、jar生成及其引用
  3. linux下qq怎么截图,ubuntu 12.04使用QQ截图安装教程
  4. openlayers入门开发系列之图层控制
  5. 如何避免踩坑--初创技术团队组建风险预估
  6. pycharm下载与安装
  7. HDU 5145 - NPY and girls
  8. linux-休眠命令
  9. PLSQL_性能优化系列10_Oracle Array数据组优化
  10. 【博客话题】坚持的背影--记我的入门老师