Tomcat的AJP连接器漏洞
上一篇 <<<站在微服务架构对Tomcat进行性能调优
下一篇 >>>DNS域名解析过程
【Tomcat的AJP连接器漏洞】Tomcat服务器默认对外网开启该端口 Web客户访问Tomcat服务器的两种方式:
文章图片
AJP Connector,它使用的是 AJP 协议(Apache Jserv Protocol)是定向包协议。因为性能原因,使用二进制格式来传输可读性文本,它能降低 HTTP 请求的处理成本,因此主要在需要集群、反向代理的场景被使用。
漏洞产生
漏洞产生的主要位置在处理Ajp请求内容的地方攻击方式
org.apache.coyote.ajp.AbstractAjpProcessor.java#prepareRequest()
对Ajp设置特定的属性,封装为request对象的Attribute属性然后继续走servlet的映射流程。 比如以下三个属性可以被设置
javax.servlet.include.request_uri
javax.servlet.include.path_info
javax.servlet.include.servlet_path
a、利用DefaultServlet实现任意文件下载:当url请求未在映射的url列表里面则会通过tomcat默认的DefaultServlet会根据上面的三个属性来读取到/WEB-INF下面的所有敏感文件,不限于class、xml、jar等文件。解决方案
b、通过jspservlet实现任意后缀文件包含:当url(比如http://xxx/xxx/xxx.jsp)请求映射在org.apache.jasper.servlet.JspServlet这个servlet的时候也可通过上述三个属性来控制访问的jsp文件,控制路径之后就可以以jsp解析该文件,所以只需要一个可控文件内容的文件即可实现rce.
a、临时禁用AJP协议端口,在conf/server.xml配置文件中注释掉推荐阅读:
b、配置ajp配置中的secretRequired跟secret属性来限制认证
c、官方下载最新版下载地址
<<
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量