本文最后更新于 212 天前,其中的信息可能已经有所发展或是发生改变。
Jar包本地远程调试
新建项目,添加jar包到lib文件夹中,选择Add as Library...
反编译jar包文件。
配置Configuration
打下断点,在当前目录下运行
java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 stegsolve.jar
开启debug调试
Weblogic远程调试
进入/weblogic/CVE-2017-10271,修改docker-compose.yml文件,添加端口
运行容器,进入容器修改 /root/Oracle/Middleware/user_projects/domains/base_domain/bin/setDomainEnv.sh 文件
docker exec -it 5fd /bin/bash
nano /root/Oracle/Middleware/user_projects/domains/base_domain/bin/setDomainEnv.sh
添加两行:
debugFlag="true"
export debugFlag
重启docker并安装zip,将当前目录下的modules目录和wlserver_10.3目录压缩后用docker cp带出。
# docker 5fd
zip -r modules.zip modules
zip -r wlserver_10.3.zip wlserver_10.3
# 服务器
docker cp 5fd:/root/Oracle/Middleware/modules.zip /tmp/weblogic/
docker cp 5fd:/root/Oracle/Middleware/wlserver_10.3.zip /tmp/weblogic/
解压,将wlserver_10.3/server/lib文件和modules文件添加到Library。
添加调试信息。
下断点,开始debug
Tomcat远程调试
进入/tomcat/CVE-2017-12615,同理开放端口,这里我开放了5005。
进入容器,在/usr/local/tomcat/bin/catalina.sh插入命令
Java_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"
将/usr/local/tomcat/lib文件夹复制到物理机,添加到Library,然后根据上面的步骤,就可以调试了。
Maven
pom.xml
定义依赖的项目,并通过Reimport引入依赖的组件。
<dependencies>
<!--xxxxxx-->
<dependency>
<groupId>xxxxx</groupId>
<artifactId>xxxxx</artifactId>
<version>Xxx</version>
</dependency>
</dependencies>