Tomcat 版本信息泄露漏洞 修复方案
参考资料
https://www.tenable.com/plugins/nessus/12085
影响说明
docs, examples 等目录以及默认的 404 页面会泄露 Tomcat 的版本信息。
此外,攻击者可以利用 example 中的部分示例代码读写 session, 有一定潜在危害。
检测方法
访问如下若干页面,不应有 Tomcat 的版本信息泄露。
http://192.168.1.1:8080/docs/
http://192.168.1.1:8080/examples/
http://192.168.1.1:8080/PageNotExist.jsp
默认的错误信息也会暴露版本信息,例如:
修复方案
1 删除 webapps 目录下 /docs/
, /examples/
。
2 隐藏 404 页面的 Tomcat 版本信息 或者 使用用自定义的 404 页面等错误页面。
方案一:自定义页面
tomcat /conf/web.xml 添加
<web-app>
...
<!-- 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>
</web-app>
error.jsp (自定义的错误页面,不能包含版本号 )
方案二:隐藏版本信息(推荐使用这种,侵入式小)
重打包 Tomcat lib 目录下的 catalina.jar 文件
## 1.解压catalina.jar
cd /isearch/tomcat/lib/
unzip catalina.jar
## 2.修改/ServerInfo.properties ,把版本信息删除
vi org/apache/catalina/util/ServerInfo.properties
server.info=
server.number=
server.built=
## 3.重新压缩到catalina.ja中
cd /isearch/tomcat/lib/
jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties
# 4. 重启 tomcat
回帖内容已被屏蔽。