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端口的监听

0x03 配置调试端
0x0301 打开wlserver作为项目
复制被调试环境中的weblogic目录到调试环境中

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

0x0302 添加jar包
单纯的将server/lib目录设置为library,可能会遗漏一些jar包,比如weblogic12.2.1.4环境CVE-2020-14852要用到的oracle.eclipselink.coherence.integrated.internal.cache.LockVersionExtractor类在toplink-grid.jar包中,但该jar包的路径为<weblogic安装目录>\oracle_common\modules\oracle.toplink\toplink-grid.jar。
3.2.1 寻找所有的jar包
我这里用的是everything软件

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

3.2.2 添加library

选择刚刚的weblogic_jars

添加完之后的显示:

0x0303 添加调试配置
选择调试配置

添加一个remote的配置

这里需要输入Host和Port的值,确保被调试环境的端口能够被访问

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

0x04 使用方法
0x0401 如何搜索类或函数
双击shift键后,勾选Include non-project items,之后就可以在搜索栏里搜索了

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



















