漏洞简介

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。由于Tomcat默认开启的AJP服务(8009端口)存在一处文件包含缺陷,攻击者可构造恶意的请求包进行文件包含操作,进而读取受影响Tomcat服务器上的Web目录文件(webapps目录)。

影响范围

Apache Tomcat 6
Apache Tomcat 7 < 7.0.100
Apache Tomcat 8 < 8.5.51
Apache Tomcat 9 < 9.0.31

开启靶机

(1)此处直接使用vulhub搭建,方便快速,一键搞定。vulhub的搭建参见https://github.com/vulhub/vulhub/blob/master/README.zh-cn.md,此处不在赘述。
vulhub安装完后,直接进入tomcat/CVE-2020-1938目录下,输入docker-compose up -d启动(最好开代理下载会快很多)

(2)docker ps命令确认8080端口的apache已开启,8009端口的AJP服务也已开启。8009服务就是该漏洞所在服务,但是无法通过浏览器来直接访问连接。

漏洞验证(POC)

(1)使用github上检测脚本:https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi,输入python CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.3.103 -p 8009,成功读取WEB-INF/web.xml文件,漏洞验证成功。(python2版本)

漏洞利用

由于该漏洞利用有一点限制,必须要将文件上传到web目录下,文件后缀名不限,然后可以实现反弹shell。
(1)生成jsp文件反弹shell

(2)使用脚本执行上传的shell.jsp文件

(3)kali上监听地址,收到反弹的shell

漏洞修复

如果相关用户暂时无法进行版本升级,可根据自身情况采用下列防护措施。

一、若不需要使用Tomcat AJP协议,可直接关闭AJP Connector,或将其监听地址改为仅监听本机localhost。

具体操作:

(1)编辑 <CATALINA_BASE>/conf/server.xml,找到如下行(<CATALINA_BASE> 为 Tomcat 的工作目录):

<Connector port="8009"protocol=“AJP/1.3” redirectPort=“8443” />
(2)将此行注释掉(也可删掉该行):

(3)保存后需重新启动Tomcat,规则方可生效。

二、若需使用Tomcat AJP协议,可根据使用版本配置协议属性设置认证凭证。

使用Tomcat 7和Tomcat 9的用户可为AJP Connector配置secret来设置AJP协议的认证凭证。例如(注意必须将YOUR_TOMCAT_AJP_SECRET更改为一个安全性高、无法被轻易猜解的值):

<Connector port="8009"protocol=“AJP/1.3” redirectPort="8443"address=“YOUR_TOMCAT_IP_ADDRESS” secret=“YOUR_TOMCAT_AJP_SECRET”/>

使用Tomcat 8的用户可为AJP Connector配置requiredSecret来设置AJP协议的认证凭证。例如(注意必须将YOUR_TOMCAT_AJP_SECRET更改为一个安全性高、无法被轻易猜解的值):

<Connector port="8009"protocol=“AJP/1.3” redirectPort="8443"address="YOUR_TOMCAT_IP_ADDRESS"requiredSecret=“YOUR_TOMCAT_AJP_SECRET” />

Tomcat文件包含漏洞:CNVD-2020-10487(简介/验证/利用/修复)相关推荐

  1. Apache Tomcat 文件包含漏洞(CVE-2020-1938)

    安全公告编号:CNTA-2020-0004 2020年1月6日,国家信息安全漏洞共享平台(CNVD)收录了由北京长亭科技有限公司发现并报送的Apache Tomcat文件包含漏洞(CNVD-2020- ...

  2. tomcat ajp协议安全限制绕过漏洞_Apache Tomcat文件包含漏洞(CVE20201938)复现

    一.漏洞背景2020年02月20日,国家信息安全漏洞共享平台(CNVD)发布了关于Apache Tomcat文件包含漏洞(CVE-2020-1938/CNVD-2020-10487)的安全公告.Tom ...

  3. Apache Tomcat文件包含漏洞(CNNVD-202002-1052、CVE-2020-1938)

    文章目录 [漏洞描述] 1,xml配置文件中的修复方法: 2,springboot对应方法: springboot开启AJP方法 开启了AJP的springboot如何升级内置tomcat版本 [漏洞 ...

  4. 【文件包含漏洞03】文件包含漏洞的空字符绕过及六种利用方式

    目录 1 内容简介 本节概述 实验环境 2 空字符绕过 2.1 实验基础知识 2.2 实验环境及准备 2.3 实验步骤 2.3.1 正常访问 2.3.2 空字符绕过 2.3.3 额外的方式 3 利用方 ...

  5. tomcat ajp协议安全限制绕过漏洞_Apache tomcat 文件包含漏洞复现(CVE20201938)

    漏洞背景 Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer ...

  6. Tomcat AJP 文件包含漏洞(CVE-2020-1938)

    目录 1.漏洞简介 2.AJP13 协议介绍 Tomcat 主要有两大功能: 3.Tomcat 远程文件包含漏洞分析 4.漏洞复现 5.漏洞分析 6.RCE 实现的原理 1.漏洞简介 2020 年 2 ...

  7. Apache Tomcat 曝文件包含漏洞:攻击者可利用该漏洞读取webapp目录下的任意文件...

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | oschina 来源 | https://ww ...

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

    这个漏洞是今年2月份出现的,他的影响范围也是非常广的. 2月20日,国家信息安全漏洞共享平台(CNVD)发布了Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020- ...

  9. php通用漏洞phpinfo,php文件包含漏洞(利用phpinfo)复现

    利用docker复现该漏洞,访问http://192.168.80.156:8080/phpinfo.php,可以看到页面出现phpinfo页面 再访问http://192.168.80.156:80 ...

  10. 【通告更新】Apache Tomcat服务器文件包含漏洞安全风险通告第三次更新

    近日,奇安信CERT监测到CNVD发布了漏洞公告,对应CNVD漏洞编号:CNVD-2020-10487.CVE漏洞编号:CVE-2020-1938.CNVD漏洞公告称Apache Tomcat服务器存 ...

最新文章

  1. 苹果地图副总裁_也许,苹果汽车的到来只是早晚问题
  2. 从传统运维到云运维演进历程之软件定义存储(五)上
  3. linux系统下搭建php环境之-Discuz论坛
  4. 抱怨IT公司人才缺乏?留住现有人才方是正途
  5. 【转】JVM内存结构 VS Java内存模型 VS Java对象模型
  6. Gradle中依赖任务产生的不同输出
  7. 矩阵特征值的物理意义
  8. Tableau安装教程
  9. mongoVue的使用
  10. 前端框架(混合开发框架)
  11. 数据结构基础— How Long Does It Take
  12. 十一届蓝狐杯的总结,顺带一点解题报告
  13. oho,找工作有点难度
  14. win11安装wsl2及linux系统安装anaconda cuda tensorrt
  15. 工作压力不容忽视——网易公司宣布首席执行官孙德棣18日辞世
  16. freecodecamp----应用无障碍
  17. 电脑上上传安装apk到手机或者模拟器上
  18. mysql的zip安装教程
  19. javapoet动态生成java代码
  20. 武汉java工资水平

热门文章

  1. csgo如何练习枪法?
  2. autojs切换输入法
  3. 微信小程序码获取-从频繁失败到成功率100%
  4. android电视安全模式,电视安全模式怎么解除
  5. OA办公自动化系统作用
  6. 奇安信技术总监熬夜总结,全网最全内网渗透姿势!
  7. java六角括号怎么打_六角括号怎么打出来 六角括号输入方法
  8. Excel-VBA 快速上手(三、数组和字典)
  9. svc预测概率_sklearn-SVC实现与类参数
  10. 芭蕉树上第二十二根芭蕉-- QT中一些报错问题