千家信息网

Tomcat-Ajp协议漏洞分析

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要讲解了"Tomcat-Ajp协议漏洞分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Tomcat-Ajp协议漏洞分析"吧!漏洞背景安全公
千家信息网最后更新 2026年10月31日Tomcat-Ajp协议漏洞分析

这篇文章主要讲解了"Tomcat-Ajp协议漏洞分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Tomcat-Ajp协议漏洞分析"吧!

漏洞背景

安全公告编号:CNTA-2020-0004

2020年02月20日, 360CERT 监测发现 国家信息安全漏洞共享平台(CNVD) 收录了 CNVD-2020-10487 Apache Tomcat文件包含漏洞。

CNVD-2020-10487/CVE-2020-1938是文件包含漏洞,xxx者可利用该高危漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件或源代码等。

受影响的版本包括:Tomcat 6,Tomcat 7的7.0.100以下版本,Tomcat 8的8.5.51以下版本,Tomcat 9的9.0.31以下版本。

CNVD 对该漏洞的综合评级为"高危"。

影响版本

1、Apache Tomcat 9.x < 9.0.31
2、Apache Tomcat 8.x < 8.5.51
3、Apache Tomcat 7.x < 7.0.100
4、Apache Tomcat 6.x

漏洞分析

3.1 AJP Connector

Apache Tomcat服务器通过Connector连接器组件与客户程序建立连接,Connector表示接收请求并返回响应的端点。即Connector组件负责接收客户的请求,以及把Tomcat服务器的响应结果发送给客户。

在Apache Tomcat服务器中我们平时用的最多的8080端口,就是所谓的Http Connector,使用Http(HTTP/1.1)协议

在conf/server.xml文件里,它对应的配置为:

而 AJP Connector,它使用的是 AJP 协议(Apache Jserv Protocol)是定向包协议。因为性能原因,使用二进制格式来传输可读性文本,它能降低 HTTP 请求的处理成本,因此主要在需要集群、反向代理的场景被使用。

Ajp协议对应的配置为:

Tomcat服务器默认对外网开启该端口 Web客户访问Tomcat服务器的两种方式:

3.2 代码分析

漏洞产生的主要位置在处理Ajp请求内容的地方

org.apache.coyote.ajp.AbstractAjpProcessor.java#prepareRequest()

这里首先判断SCAREQ_ATTRIBUTE,意思是如果使用的Ajp属性并不在上述的列表中,那么就进入这个条件

SC_A_REQ_REMOTE_PORT对应的是AJP_REMOTE_PORT,这里指的是对远程端口的转发,Ajp13并没有转发远程端口,但是接受转发的数据作为远程端口。

于是这里我们可以进行对Ajp设置特定的属性,封装为request对象的Attribute属性 比如以下三个属性可以被设置

javax.servlet.include.request_urijavax.servlet.include.path_infojavax.servlet.include.servlet_path

3.3 任意文件读取

当请求被分发到org.apache.catalina.servlets.DefaultServlet#serveResource()方法

调用getRelativePath方法,需要获取到request_uri不为null,然后从request对象中获取并设置pathInfo属性值和servletPath属性值

接着往下看到getResource方法时,会把path作为参数传入,获取到文件的源码

漏洞演示: 读取到/WEB-INF/web.xml文件

3.4 命令执行

当在处理 jsp 请求的uri时,会调用 org.apache.jasper.servlet.JspServlet#service()

最后会将pathinfo交给serviceJspFile处理,以jsp解析该文件,所以当我们可以控制服务器上的jsp文件的时候,比如存在jsp的文件上传,这时,就能够造成rce

漏洞演示: 造成rce

修复建议

Apache Tomcat 6 已经停止维护,请升级到最新受支持的 Tomcat 版本以免遭受漏洞影响,请更新到如下Tomcat 版本:

感谢各位的阅读,以上就是"Tomcat-Ajp协议漏洞分析"的内容了,经过本文的学习后,相信大家对Tomcat-Ajp协议漏洞分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

漏洞 文件 版本 分析 属性 服务器 服务 漏洞分析 端口 客户 处理 内容 方法 学习 影响 配置 安全 对象 就是 组件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网是第几次科技革命的成果 上海卓越科技互联网 A股互联网金融科技公司 高科技与互联网 万易互联网科技有限公司 中国互联网科技发展 唐信互联网科技 安徽鑫晟辉互联网科技 苏州互联网科技贷款公司 睿民互联网科技 青岛中康互联网医疗科技有限公司 互联网公司科技股 注册互联网科技公司经营范围大全 互联网金融科技展 翼展科技 首家互联网医院 互联网科技圈年度人物 济南小医互联网科技有限公司招聘 上海同邻互联网科技有限公司规模 互联网公司属于科技吗 互联网领先科技成果宣传视频 南京欣网互联网络科技 互联网科技卖菜 互联网科技美容 富国互联网科技创新基金 互联网科技公司需要的职位 深圳前海聚择互联网科技有限公司 福州新华互联网科技学校 知乎 互联网科技公司有风险吗 梅州GM互联网络科技有限公司 宁波允成互联网科技有限公司
0