准备IDEA与Tomcat
1.IDEA在我看来是目前我用过的最舒服的(没有之一)的编译器,去哪下载,怎么安装我在这就不多做阐述了,请自行登梯下载部署配置。
2.tomcat源码下载的时候选择:apache-tomcat-***-src.zip,以8.5.47版本为例,则下载对应的文件名为:apache-tomcat-8.5.47-src.zip。
这两部分内容涉及不到任何技术细节,因此不具体提供方法,对我来说这两部分都不是问题,相信大家应该也不成问题。
调试步骤
具体调试方法如下:
- 下载解压,在其根目录下新建catalina-home文件夹和pom.xml文件,如下图所示。
- 把根目录下的conf和webapps复制到catalina-home文件下,其他目录新建即可。
- 修改第一步新建pom.xml文件,具体内容如下(涉及到版本问题的请自行修改即可):
1 | <?xml version="1.0" encoding="utf-8"?> |
- 运行idea导入tomcat源码
- 配置tomcat运行环境,以启动tomcat服务器:
Main class:Bootstrap(org.apache.catalina.startup)
VM options: -Dcatalina.home=”你的路径/apache-tomcat-8.5.47-src/catalina-home”
// -D 是java设置参数的固定写法
// catalina.home 是参数名
// =的后面是tomcat源码项目的catalina-home的路径,当这个路径包含空格是需要使用”” - 编译时,Test模块下的TestCookieFilter.java会报错,注释掉这个类即可
7.在ContextConfig.java中的webConfig();代码语句后添加代码:
1 | context.addServletContainerInitializer(new JasperInitializer(),null); |
ContextConfig.java和Bootstrap主类在同一处,见步骤5
8.运行项目,启动成功,访问正常。
导入Tomcat9需修改的点
- ResponseTrailers 找不到,把 home\webapps\examples\WEB-INF\classes\trailers 目录拷贝到 test 目录下
- CookieFilter 找不到,把 home\webapps\examples\WEB-INF\classes\util\CookieFilter.java 文件拷贝到 test\util 目录下
- 编辑 org.apache.catalina.startup.ContextConfig 文件的 configureStart() 方法,添加初始化 JSP 解析器的代码:
1
context.addServletContainerInitializer(new JasperInitializer(), null);
开启挖掘漏洞之旅
以上步骤完成之后就可以大展宏图挖漏洞了,不过能不能挖出来还要看技术功底了,不过你可以靠多练习,经过对历史漏洞的研究,相信不就得将来是可以拿到属于自己的CVE的!加油!
参考文献
- IDEA 导入 Tomcat9 源码
- idea中导入tomcat源码并运行