1.后台地址泄露解决办法:
1). 删除TOMCAT_HOME/webapps/docs、examples、manager、ROOT、host-manager
2). 编辑TOMCAT_HOME/web.xml,修改<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>下的初始化参数<param-name>listings</param-name> 的<param-value>默认值,改成(或增加)为:<param-value>false</param-value>
2.中间件及版本信息泄露解决办法
进入apache-tomcat目录lib下,找到catalina.jar,使用压缩工具依次找到org\apache\catalina\util下的ServerInfo.properties编辑ServerInfo.properties如下:server.info=HTTP Serverserver.number=0.0.0.0server.built=Jan 01 2018 00:00:00然后将修改后的信息压缩回jar包
3.不安全http方法解决办法
1). 在应用程序web.xml中添加如下的代码即可:<security-constraint><web-resource-collection><url-pattern>/*</url-pattern><http-method>PUT</http-method><http-method>DELETE</http-method><http-method>HEAD</http-method><http-method>OPTIONS</http-method><http-method>TRACE</http-method></web-resource-collection></security-constraint>
2). 打开{tomcat_home}/conf/server.xml文件,配置Connector节点属性allowTrace为true,此操作可以禁止使用trace方法。
Tomcat AJP漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行
检测方法:
主要采用版本检测方式,受影响的版本为:Apache Tomcat6Apache Tomcat7 < 7.0.100Apache Tomcat8 < 8.5.51Apache Tomcat9 < 9.0.31进入Tomcat安装目录的bin目录,输入命令version.bat后,可查看当前的软件版本号。若当前版本在受影响范围内,则可能存在安全风险。
解决方法:
1.官方升级
2.临时防护措施
1) 在不需要使用AJP协议的情况下,用户可直接关闭AJPConnector,或将其监听地址改为仅监听本机localhost。
2) 若需使用Tomcat AJP协议使用Tomcat 7和Tomcat 9的用户可为AJP Connector配置secret来设置AJP协议的认证凭证;使用Tomcat 8的用户可为AJP Connector配置requiredSecret来设置AJP协议的认证凭证。