Castiel's Blog

使用IDEA远程调试已部署的Tomcat应用

2020-07-16 · 2 min read

0x00 写在前面

在做代码审计的时候经常会遇到直接打包网站到本地搭建环境运行,但由于打包下的网站都是编译好了的,没有源码。需要调试的话得借助IDEA远程调试功能调试运行中的网站。

0x01 配置Tomcat

在开启调试之前需要确定目标网站在本地的环境中能正常运行起来,剩下的就需要开启Tomcat的调试模式。实际上在Tomcat中主要启动脚本为catalina.bat或者catalina.sh,startup脚本也是调用该脚本来启动应用程序的。而且在Tomcat中已内置远程调试模式,不需要自己手动设置,如下图:

我们只需执行catalina.bat jpda start命令即可开启调试模式,正常启动后会看到Listening for transport dt_socket at address: 8000的字样。Tomcat默认是在本地监听8000端口,可以在catalina中更改,如下图便是正常开启远程调试模式:

0x02 配置IDEA

在IDEA中新建一个项目,然后点击文件->项目结构->库,点击加号添加Java源文件

路径选择在运行的网站的classes目录,添加成功后可以在项目结构中看到所以的class了,如下图:

然后点下图所示位置添加一个debug的配置:

点击+号添加一个远程的Tomcat配置,如下图:

命名随意,如下图所示:

然后在启动/连接选项中选择Debug,然后下方端口填写Tomcat调试模式监听的端口8000,点击应用。
最后在需要下断点的位置打上断点,启动调试即可。