0%

IDEA远程调试JAR

IDEA远程调试JAR

最近把struts的相关洞跟了一遍,这里记录一下IDEA的调试环境的配置。

IDEA安装反编译插件

对于jar包中的class文件,我们需要反编译才能看到源码调试。

image-20210908172825269

示例

以调试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"

image-20210909091427403

修改docker-compose.yml

因为除了正常的web端口,还有一个debug端口需要映射

image-20210909091614647

修改Dockerfile

需要把修改后的catalina.sh替换原来的

image-20210909091713142

运行容器

如果之前起过容器需要重新build,更新image文件

image-20210909092020998

IDEA配置

把项目中的 S2-001.war下载到本地,解压后使用IDEA作为项目打开。

右键lib->添加为库

image-20210909092541288

文件- >项目结构 设置项目SDK

image-20210909092729175

右上角添加运行配置

image-20210909092920216

监听debug,下好断点,访问触发

image-20210909093059050

问题

无法评估表达式

Image

和IDEA的自动导入有关

排除相关类的自动导入

image-20210909093454410

Image

-------------本文结束感谢您的阅读-------------