IDEA动态调试WebLogic

IDEA动态调试WebLogic

环境:Windows 10 + Windows7(192.168.52.181) + Idea + WebLogic12.2.1.4 + Java8102

0x01 安装weblogic

安装成功后,在domains下的bin目录下有个startWebLogic.cmd文件

0x02 配置被调试端

0x0201 添加调试参数

2.1.1 方式一

在startWebLogic.cmd文件中加参数:

set JAVA_OPTIONS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n

2.1.1 方式二

修改 user_projects\domains\<域名> 的 bin 目录下面的 setDomainEnv.cmd 文件,在 if "%debugFlag%"=="true" 前加入:

debugFlag=true
DEBUG_PORT=9999

0x0202 启动weblogic

双击startWebLogic.cmd启动weblogic,之后使用netstat -ano|findstr 9999可以看到9999端口的监听

http://book.zer0ne-sec.com/uploads/images/gallery/2023-04/scaled-1680-/x5GNGdLxBAXT92Ut-image-1682393963544.png

0x03 配置调试端

0x0301 打开wlserver作为项目

复制被调试环境中的weblogic目录到调试环境中

IDEA动态调试WebLogic_第1张图片

启动idea,选择打开一个项目,选择wlserver这个目录

IDEA动态调试WebLogic_第2张图片

0x0302 添加jar包

单纯的将server/lib目录设置为library,可能会遗漏一些jar包,比如weblogic12.2.1.4环境CVE-2020-14852要用到的oracle.eclipselink.coherence.integrated.internal.cache.LockVersionExtractor类在toplink-grid.jar包中,但该jar包的路径为\oracle_common\modules\oracle.toplink\toplink-grid.jar

3.2.1 寻找所有的jar包

我这里用的是everything软件

IDEA动态调试WebLogic_第3张图片

新建一个文件夹,将所有的jar包拷贝新建的文件夹中

IDEA动态调试WebLogic_第4张图片

3.2.2 添加library

IDEA动态调试WebLogic_第5张图片

选择刚刚的weblogic_jars

IDEA动态调试WebLogic_第6张图片

添加完之后的显示:

0x0303 添加调试配置

选择调试配置
IDEA动态调试WebLogic_第7张图片
添加一个remote的配置

IDEA动态调试WebLogic_第8张图片

这里需要输入Host和Port的值,确保被调试环境的端口能够被访问
IDEA动态调试WebLogic_第9张图片

0x0304 启动调试

点击Debug,如果成功则会出现Connected to the target VM, address: '192.168.52.181:9999', transport: 'socket'类似的显示,没成功的话可以重新运行startWebLogic.cmd文件再去debug。
IDEA动态调试WebLogic_第10张图片

0x04 使用方法

0x0401 如何搜索类或函数

双击shift键后,勾选Include non-project items,之后就可以在搜索栏里搜索了
IDEA动态调试WebLogic_第11张图片

参考资料:weblogic漏洞分析系列之调试环境搭建

你可能感兴趣的:(intellij-idea,java,漏洞研究)