Tomcat AJP 文件包含漏洞复现(CVE-2020-1938)
漏洞原理
Tomcat配置了两个Connecto,它们分别是HTTP和AJP。
HTTP默认端口为8080,处理http请求;AJP默认端口8009,用于处理 AJP 协议的请求。
AJP比http更加优化,多用于反向、集群等,漏洞由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件以及可以包含任意文件,如果有某上传点,上传图片马等等,即可以获取shell。
AJP Connector
Apache Tomcat服务器通过Connector连接器组件与客户端程序建立连接,Connector表示接收请求并返回响应的端点,即Connector组件负责接收客户的请求,以及把Tomcat服务器的响应结果发送给客户。
在Apache Tomcat服务器中我们平时用的最多的8080端口,就是所谓的Http Connector,使用Http(HTTP/1.1)协议,在 conf/server.xml 文件里Ajp协议对应的配置为
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Tomcat服务器默认对外网开启该端口,Web客户访问Tomcat服务器的两种方式:

漏洞环境搭建
进入vulhub-master/tomcat/CVE-2020-1938目录下,docker环境启动
docker-compose up -d
- 使用nmap,扫描目标指定8009端口,表示漏洞环境搭建成功
nmap -p 8009 192.168.2.147

漏洞环境复现
webapp任意文件读取
可以成功读取web.xml文件内容
python2 CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.2.147 -p 8009 -f WEB-INF/web.xml

任意文件包含
漏洞攻击流量分析
1、Wireshark抓取poc获取web.xml内容流量

2、跟踪流,服务器返回结果如下

漏洞影响版本
Apache Tomcat 6
Apache Tomcat 7 < 7.0.100
Apache Tomcat 8 < 8.5.51
Apache Tomcat 9 < 9.0.31
漏洞修复措施
1、在servce.xml中注释AJP,或者绑定到localhost
2、升级无漏洞版本
3、Tomcat 7和Tomcat 9可为AJP Connector配置secret来设置AJP协议的认证凭证。
4、Tomcat 8的可为AJP Connector配置requiredSecret来设置AJP协议的认证凭证。
EXP
参考链接
CSDN-Tomcat AJP 文件包含漏洞(CVE-2020-1938)
CSDN-Tomcat AJP文件包含漏洞解析
Tomcat AJP 文件包含漏洞(CVE-2020-1938) 修复方案 (含Apache2 ajp 负载如何修复)
先知社区-Tomcat Ajp协议文件包含漏洞分析
声明
严禁读者利用以上介绍知识点对网站进行非法操作 , 本文仅用于技术交流和学习 , 如果您利用文章中介绍的知识对他人造成损失 , 后果由您自行承担 , 如果您不能同意该约定 , 请您务必不要阅读该文章 , 感谢您的配合 !
Tomcat AJP 文件包含漏洞复现(CVE-2020-1938)的更多相关文章
- Aapache Tomcat AJP 文件包含漏洞(CVE-2020-1938)
受影响版本 Apache Tomcat 6 Apache Tomcat 7 < 7.0.100 Apache Tomcat 8 < 8.5.51 Apache Tomcat 9 < ...
- CVE-2018-12613-phpmyadmin4.8.1远程文件包含漏洞复现
CVE-2018-12613-phpmyadmin4.8.1远程文件包含漏洞复现 参考文章1 参考文章2 By:Mirror王宇阳 漏洞原理 攻击者利用发现在服务器上包含(查看和潜在执行)文件的漏洞. ...
- 易酷CMS2.5本地文件包含漏洞复现
易酷CMS是一款影片播放CMS.该CMS2.5版本存在本地文件包含漏洞.我们可以利用这个漏洞,让其包含日志文件,然后再利用报错信息将一句话木马写入日志中.然后利用文件包含漏洞包含该日志文件,再用菜刀连 ...
- 骑士CMS<6.0.48 模板注入文件包含漏洞复现及遇到的坑
1.坑 payload:variable=1&tpl=<?php phpinfo(); ob_flush();?>/r/n<qscms/company_show 列表名=&q ...
- phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)
漏洞详情 范围 phpMyAdmin 4.8.0和4.8.1 原理 首先在index.php 50-63行代码 $target_blacklist = array ( 'import.php', 'e ...
- CVE-2018-12613phpMyAdmin 后台文件包含漏洞分析
一. 漏洞背景 phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库.借由此Web接口可以成 ...
- Tomcat文件包含漏洞的搭建与复现:CVE-2020-1938
Tomcat文件包含漏洞的搭建与复现:CVE-2020-1938 漏洞描述 2020年2月20日,国家信息安全漏洞共享平台(CNVD)发布了Apache Tomcat文件包含漏洞(CNVD-2020- ...
- Apache Tomcat 文件包含漏洞(CVE-2020-1938)
2月20日,国家信息安全漏洞共享平台(CNVD)发布了Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938).该漏洞是由于Tomcat AJP协议存在缺陷 ...
- Apache Tomcat文件包含漏洞紧急修复
Tomcat 漏洞 tomcat有漏洞, 需要升级到9.0.31 https://cert.360.cn/warning/detail?id=849be16c6d2dd909ff56eee7e26ae ...
随机推荐
- GoogleHacking基本语法使用
查看网络后台 intitle:admin 搜索url中的关键字:asp?id= inurl:asp?id=
- CSS动画菜鸡记录板
Transition 过渡属性: (background 1s linear 0s) 缓动函数 linear,在 easings.net 可找到相应的功能 若想要多次不同执行,用逗号隔开 Animat ...
- buuctf-misc [BJDCTF2020]认真你就输了
下载压缩包,打开发现有一个10.xls打开一乱码,发现不了头绪,但是发现了pk开头 那我们能不能将这个.xls改成.zip 说干就干,于是我们改成zip解压 打开xl,然后再打开 在chars中发现f ...
- 【转】Liunx常用命令详解
Liuux命令查询入口 Linux命令 - 系统信息 命令代码 注释说明 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 ...
- 「补课」进行时:设计模式(5)——从 LOL 中学习代理模式
1. 前文汇总 「补课」进行时:设计模式系列 2. 从 LOL 中学习代理模式 我是一个很喜欢玩游戏的人,虽然平时玩游戏的时间并不多,但我也是一个忠实的 LOL 的爱好者,就是段位有点惨不忍睹,常年倔 ...
- TCP的粘包和拆包问题及解决办法(C#)
本文参考:https://blog.csdn.net/wxy941011/article/details/80428470 原因 如果客户端连续不断的向服务端发送数据包时,服务端接收的数据会出现两个数 ...
- linux开机启动设置的几种方法
Linux开机自启动的几种方式: 1.chkconfig 以supervisord服务脚本为例: 第1步:把上面的脚本放在/etc/init.d/文件 ln -s ./supervisord /et ...
- 849. Maximize Distance to Closest Person ——weekly contest 87
849. Maximize Distance to Closest Person 题目链接:https://leetcode.com/problems/maximize-distance-to-clo ...
- CF1295E Permutation Separation
线段树 难得把E想出来,写出来,但却没有调出来(再给我5分钟),我的紫名啊,我一场上紫的大好机会啊 首先考虑是否能将$k$在$1$--$n-1$的每一个的最小代价都求出来 因为$k$从$i$到$i-1 ...
- phpword读取内容和样式 生成新的内容
table样式还未读出 正在测试中, 目前有 rows cell textrun等样式 顺序不固定 可以设定 <?php require 'vendor/autoload.php'; use P ...