河曲智叟 发表于 2024-12-31 17:38:55

#渗出测试#漏洞利用#红蓝攻防#信息泄露漏洞#Tomcat信息泄露漏洞的利用

免责声明 本教程仅为正当的讲授目标而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在利用本教程前,您应确保该行为符合本地的法律法规,继承阅读即表示您需自行承担所有操纵的后果,如有贰言,请立即停止本文章读。https://i-blog.csdnimg.cn/direct/2103cf3710084bf0ab83645c904d1d02.png
目录
 一、Tomcat简介
Tomcat紧张组件
两大组件具体先容
Tomcat Server处置惩罚一个HTTP哀求的过程
目录及布局作用
Tomcat配置文件:
tomcat服务器与servlet版本的关系
二、Tomcat页面泄露的危害
敏感信息暴露
增加攻击面
损害企业荣誉和用户信托
三、怎样防止Tomcat页面泄露
1. 自界说错误页面
2. 删除默认示例文件夹
3. 隐藏版本信息
4. 配置安全的访问控制
5. 加密敏感数据传输
6. 做好配置文件的保护
7. 禁用不必要的组件和服务
8. 定期审计日志文件
9. 强化系统和应用步调的安全性
10. 定期举行安全漏洞扫描和渗出测试
前情提要:#渗出测试#漏洞挖掘#红蓝攻防#漏洞挖掘#信息泄露漏洞-Apache Tomcat页面泄露漏洞-CSDN博客
   
 一、Tomcat简介

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被广泛利用,是开发和调试JSP 步调的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它相应HTML(标准通用标记语言下的一个应用)页面的访问哀求。现实上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,以是当你运行tomcat 时,它现实上作为一个与Apache 独立的进程单独运行的。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 现实上运行JSP 页面和Servlet。别的,Tomcat和IIS等Web服务器一样,具有处置惩罚HTML页面的功能,别的它照旧一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不外,Tomcat处置惩罚静态HTML的本领不如Apache服务器。现在Tomcat最新版本为9.0。
Tomcat简朴的说就是一个运行JAVA的网络服务器,底层是Socket的一个步调,它也是JSP和Serlvet的一个容器。
为什么我们必要用到Tomcat
如果你学过html,css,你会知道你写的页面只能自己访问,别人不能长途访问你写的页面,Tomcat就是提供能够让别人访问自己写的页面的一个步调。
Tomcat紧张组件

服务器Server,服务Service,毗连器Connector、容器Container。毗连器Connector和容器Container是Tomcat的焦点。
一个Container容器和一个或多个Connector组合在一起,加上其他一些支持的组件共同构成一个Service服务,有了Service服务便可以对外提供本领了,但是Service服务的生存必要一个情况,这个情况便是Server,Server组件为Service服务的正常利用提供了生存情况,Server组件可以同时管理一个或多个Service服务。
TomCat布局示意图
https://i-blog.csdnimg.cn/direct/109c39ecd341448eb525bfd3d22683ea.png
两大组件具体先容

1、Connector
一个Connecter将在某个指定的端口上侦听客户哀求,吸收浏览器的发过来的 tcp 毗连哀求,创建一个 Request 和 Response 对象分别用于和哀求端交换数据,然后会产生一个线程来处置惩罚这个哀求并把产生的 Request 和 Response 对象传给处置惩罚Engine(Container中的一部分),从Engine处获得相应并返回客户。
2、Container
Container是容器的父接口,该容器的设计用的是典型的责任链的设计模式,它由四个自容器组件构成,分别是Engine、Host、Context、Wrapper。这四个组件是负责关系,存在包罗关系。
Tomcat Server处置惩罚一个HTTP哀求的过程

1、用户点击网页内容,哀求被发送到本机端口8080,被在那边监听的Coyote HTTP/1.1 Connector获得。
2、Connector把该哀求交给它所在的Service的Engine来处置惩罚,并等候Engine的回应。
3、Engine获得哀求localhost/test/index.jsp,匹配所有的假造主机Host。
4、Engine匹配到名为localhost的Host(纵然匹配不到也把哀求交给该Host处置惩罚,因为该Host被界说为该Engine的默认主机),名为localhost的Host获得哀求/test/index.jsp,匹配它所拥有的所有的Context。Host匹配到路径为/test的Context(如果匹配不到就把该哀求交给路径名为“ ”的Context去处置惩罚)。
5、path=“/test”的Context获得哀求/index.jsp,在它的mapping table中探求出对应的Servlet。Context匹配到URL PATTERN为*.jsp的Servlet,对应于JspServlet类。
6、构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet()或doPost().执行业务逻辑、数据存储等步调。
7、Context把执行完之后的HttpServletResponse对象返回给Host。
8、Host把HttpServletResponse对象返回给Engine。
9、Engine把HttpServletResponse对象返回Connector。
10、Connector把HttpServletResponse对象返回给客户Browser。
目录及布局作用

tomcat目录布局的截图(版本号:9.0.60)
https://i-blog.csdnimg.cn/direct/0d92c1879c7f4efc9ebaee7b56d19e77.png
|---bin:存放启动和关闭tomcat脚本
|---conf:存放差异的配置文件(server.xml和web.xml);
|---doc:存放Tomcat文档;
|---lib/japser/common:存放Tomcat运行必要的库文件(JARS);
|---logs:存放Tomcat执行时的LOG文件;
|---src:存放Tomcat的源代码;
|---webapps:Tomcat的紧张Web发布目录(包括应用步调示例);
|---work:存放jsp编译后产生的class文件;
Tomcat配置文件:

我们打开con文件夹可以看到Tomcat的配置文件:
server.xml: Tomcat的主配置文件,包罗Service, Connector, Engine, Realm, Valve, Hosts主组件的相干配置信息;
web.xml:遵循Servlet规范标准的配置文件,用于配置servlet,并为所有的Web应用步调提供包括MIME映射等默认配置信息;
tomcat-user.xml:Realm认证时用到的相干脚色、用户和暗码等信息;Tomcat自带的manager默认情况下会用到此文件;在Tomcat中添加/删除用户,为用户 指定脚色等将通过编辑此文件实现;
catalina.policy:Java相干的安全策略配置文件,在系统资源级别上提供访问控制的本领;
logging.properties: Tomcat6通过自己内部实现的JAVA日志记录器来记录操纵相干的日志,此文件即为日志记录器相干的配置信息,可以用来界说日志记录的组 件级别以及日志文件的存在位置等;
context.xml:所有host的默认配置信息;
tomcat服务器与servlet版本的关系

servlet:sun公司提供的用于开发动态web资源的技术。
jsp:(java server page),java提供的一门开发web网页的技术。
tomcat软件:java开发的。java软件运行的时候必要jdk。
https://i-blog.csdnimg.cn/direct/d8dbe9344e0849589ade9c50cee2e365.png
向下兼容。tomcat7也支持servlet3.0/jsp2.2规范,可以支持javaee6.0当前企业常用的版本 6.* / 7./8.
漏洞复现可参考相干内容!!
二、Tomcat页面泄露的危害



[*] 敏感信息暴露

[*]当Tomcat页面发生泄露时,大概会暴露应用步调的敏感配置信息,例如数据库毗连字符串、服务器端的加密密钥等。这些信息一旦被攻击者获取,他们就可以利用这些信息尝试毗连数据库,举行数据的盗取、篡改等恶意操纵,严重威胁数据安全。
[*]源代码也大概被泄露,攻击者通过分析源代码可以找到安全漏洞的所在,从而更容易地构造恶意攻击,例如找到未经验证的输入点,举行SQL注入、命令注入等攻击。

[*] 增加攻击面

[*]泄露的页面信息为攻击者提供了更多关于系统架构、所利用技术栈等信息。这使得攻击者能够更好地相识目标系统,从而有针对性地制定攻击策略,增加了系统遭受攻击的风险。

[*] 损害企业荣誉和用户信托

[*]如果用户得知他们利用的服务存在信息泄露风险,大概会对企业的安全性产生质疑,从而影响企业的荣誉。对于涉及用户隐私数据的应用,如金融、医疗类应用,这种信托的损害大概导致用户流失,给企业带来严重的商业损失。


三、怎样防止Tomcat页面泄露

防止Tomcat页面泄露紧张可以从以下几个方面入手:
1. 自界说错误页面

通过配置Tomcat以提供自界说的错误页面,可以有效地屏蔽敏感信息,从而保护应用步调的安全。具体步骤如下:


[*] 打开Tomcat安装目录/conf/web.xml
[*] 在web.xml 中界说自界说的404和500错误页面,如404.html 和500.html ,以提高用户体验并避免泄露敏感信息。
2. 删除默认示例文件夹

Tomcat默认页面泄露,此页面紧张是中间件Tomcat自带的示例文件夹,删除即可。具体操纵如下:


[*] 删撤除tomcat下webapps下的examples文件夹。
3. 隐藏版本信息

在Tomcat报错页面中,显示ApacheTomcat/8.5.51相干版本号等信息,是不安全的。这会被攻击者获取到,利用该版本的其他漏洞对服务器举行攻击。以是必要隐藏掉。具体操纵如下:


[*]进入tomcat的配置目录下(%tomcatHome%\conf)在server.xml 文件中的Host节点添加如下配置: <Valve className="org.apache.catalina.valves.ErrorReportValve"showReport="false" showServerInfo="false"/>
[*] 修改server.info 、server.number 、server.built ,修改后可以避免版本信息的泄露。
[*] 4. 配置安全的访问控制

通过配置Tomcat的访问控制,限制对敏感目录和文件的访问权限。确保只有授权的用户可以访问这些资源。你可以利用Tomcat的内置的用户认证和授权机制,或者团结其他安全认证方式。
5. 加密敏感数据传输

通过利用SSL/TLS协议,对与Tomcat服务器的通讯举行加密,以保护敏感数据的传输过程中不被窃听或篡改。为了实现这一点,你必要配置并利用有效的数字证书。
6. 做好配置文件的保护

确保Tomcat的配置文件(如server.xml) 的访问权限受到限制,只有授权的用户可以修改或访问。这可以防止攻击者通过篡改配置文件来获取敏感信息或执行恶意操纵。
7. 禁用不必要的组件和服务

Tomcat提供了很多可选的组件和服务,但并不是所有都是必须的。禁用不必要的组件和服务可以减少攻击面,并提高服务器的安全性。审核Tomcat的配置文件,仅启用你必要的组件和服务。
8. 定期审计日志文件

Tomcat的日志文件记录了服务器的活动和事件。定期审计这些日志文件,检查是否有非常活动或潜伏的攻击迹象。及时发现并应对非常行为,可以资助你保护服务器免受潜伏的安全威胁。
9. 强化系统和应用步调的安全性

除了Tomcat本身的安全配置,你还应该强化服务器操纵系统和应用步调的安全性。更新操纵系统和应用步调的补丁,利用防火墙和入侵检测系统等安全工具,加强服务器的团体安全防护。
10. 定期举行安全漏洞扫描和渗出测试

定期利用安全漏洞扫描工具和渗出测试工具对Tomcat服务器举行测试。这可以资助你发现潜伏的漏洞和缺点,并及时修复它们,提高服务器的安全性。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: #渗出测试#漏洞利用#红蓝攻防#信息泄露漏洞#Tomcat信息泄露漏洞的利用