IDEA远程调试JAR
最近把struts的相关洞跟了一遍,这里记录一下IDEA的调试环境的配置。
IDEA安装反编译插件
对于jar包中的class文件,我们需要反编译才能看到源码调试。
示例
以调试S2-001为例
环境使用https://github.com/vulhub/vulhub
tomcat开启debug模式
修改catalina.sh文件,添加以下内容,调试端口是8081
1 | JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8081,server=y,suspend=n" |
修改docker-compose.yml
因为除了正常的web端口,还有一个debug端口需要映射
修改Dockerfile
需要把修改后的catalina.sh
替换原来的
运行容器
如果之前起过容器需要重新build,更新image文件
IDEA配置
把项目中的 S2-001.war下载到本地,解压后使用IDEA作为项目打开。
右键lib->添加为库
文件- >项目结构 设置项目SDK
右上角添加运行配置
监听debug,下好断点,访问触发
问题
无法评估表达式
和IDEA的自动导入有关
排除相关类的自动导入