最近,公司绿盟漏洞扫描发现一台tomcat6.0.16(可通过目录下的release-notes查看版本)服务器有漏洞,并提供了补丁下载地址,通过下载地址到tomcat公网,发现只是4个java源文件及一个变更日志的xml文件。一时不知道如何升级,经过研究把升级经验共享如下:

根据java文件判断应该是要编译才能升级,xml文件是升级说明,无需考虑,但后面编译发现有信息可用(xml里面提示需要tomcat 6.0.28版本上升级)。

通过打开java文件查看调用的包,知道需要tomace的bin目录下的tomcat-juli.jar,tomcat的lib目录下tomcat-coyote.jar(tomcat二个jar必须6.0.28版本以上才能编译通过),jdk的lib目录下的dt.jar,tools.jar。

把4个jar及java文件copy到d盘跟目录后,运行javac  -classpath .\tomcatjuli.jar;.\dt.jar;.\tools.jar;.\tomcat-coyote.jar
*.java后编译通过,生成4个calss文件,最后通过rar把class文件放入tomcat-coyote.jar对应目录后,替换tomcat的lib应目录下tomcat-coyote.jar文件,运行tomcat正常,但web登陆异常,再更换tomcat-juli.jar后,运行tomcat正常,但web登陆异常。最后通过copy新版本的lib整个目录替换老版tomcatlib目录后(tomcat-juli.jar未更换),运行tomcat正常,web登陆正常。

本次测试在tomcat6.0.16上测试通过,不过通过本次升级学习,实际过程中如果知道配置文件的话,最好整个升级到新版本,修改相应配置文件解决补丁升级问题最妥当。