apache tomcat版本泄露漏洞修复记录

金山对项目做了一次渗透测试,扫描到一些漏洞,今天下午解决了一个
说难不难,就是找修复办法费时间。

漏洞描述

错误页面由服务器产生403、404、500,502 等错误时,返回详细的错误信息。报错信息中可能会包含服务器代码信息、数据库连接信息、SQL 语句、个人信息或者敏感文件的路径,为攻击者收集信息提供了方便。
http://ip地址/index.php?option=com_fields&view=fields&l
ayout=modal&list[fullordering]=updatexml(0x23,concat(1,md5(199
71628)),1)
他们访问了一个URL,结果页面报400错误,打印了错误信息和tomcat版本信息

项目描述

tomcat版本 8.5.5
注意,本文只针对tomcat8, tomcat9以及以上的不包括
因为tomcat8和9+对400错误信息的处理不同
参考文章1

解决办法

按照上面参考文章1的办法,修改 tomcat/conf/server.xml 配置文件

<Host name="localhost"  appBase="webapps" 
	unpackWARs="true" autoDeploy="true">
	   <Valve className="org.apache.catalina.valves.ErrorReportValve" 
	   showReport="false" showServerInfo="false" />
</Host>

我这里只修改了配置文件,没有进行后面重写编译的步骤。所以页面上就不会展示任何错误信息了
400错误图

页面不会出现任何错误信息,除了一行400。
其他的错误 400 以外的,可以参考这里
错误页面定向
我这里复制来了修改方法:
修改WEB-INF/web.xml配置文件

<!-- =======================================错误页配置开始====================================== -->
     	<!-- 400错误 -->
     	<error-page>
     		<error-code>400</error-code>
     		<location>/error.jsp</location>
     	</error-page>
     	<!-- 404 页面不存在错误 -->
     	<error-page>
     		<error-code>404</error-code>
     		<location>/error.jsp</location>
     	</error-page>
     	<!-- 500 服务器内部错误 -->
     	<error-page>
     		<error-code>500</error-code>
     		<location>/error.jsp</location>
     	</error-page>
     	<!-- java.lang.Exception异常错误,依据这个标记可定义多个类似错误提示 -->
     	<error-page>
     		<exception-type>java.lang.Exception</exception-type>
     		<location>/error.jsp</location>
     	</error-page>
     	<!-- java.lang.NullPointerException异常错误,依据这个标记可定义多个类似错误提示 -->
     	<error-page>
     		<exception-type>java.lang.NullPointerException</exception-type>
     		<location>/error.jsp</location>
     	</error-page>
     	<error-page>
     		<exception-type>javax.servlet.ServletException</exception-type>
     		<location>/error.jsp</location>
     	</error-page>
      <!-- =======================================错误页配置结束====================================== -->
  

这里页面路径是项目根目录下的 也就是你的webroot下,当然可以再指定webroot下的文件夹里的
自己写一个错误页面就可以
能深入的可以参考下面的文章2
参考文章2
tomcat8如果想要自定义400错误页面是有些麻烦的,参考上面的参考文章2。

结语

欢迎评论区、私信交流技术。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值