IDEA动态调试WebLogic

慈云数据 2024-03-18 技术支持 52 0

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目录到调试环境中

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

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

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

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软件

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

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

http://book.zer0ne-sec.com/uploads/images/gallery/2023-04/WVZsrH9w5BemNKC2-image-1682394030103.png

3.2.2 添加library

http://book.zer0ne-sec.com/uploads/images/gallery/2023-04/jOl0oS06qFUTjE3B-image-1682394041913.png

选择刚刚的weblogic_jars

http://book.zer0ne-sec.com/uploads/images/gallery/2023-04/f78LYxcmLY6c5EFK-image-1682394051834.png

添加完之后的显示:

http://book.zer0ne-sec.com/uploads/images/gallery/2023-04/3ewTBm4WJ08zv1Si-image-1682394061095.png

0x0303 添加调试配置

选择调试配置

http://book.zer0ne-sec.com/uploads/images/gallery/2023-04/scaled-1680-/7xMPFiMVwG2nbv2M-image-1682394074476.png

添加一个remote的配置

http://book.zer0ne-sec.com/uploads/images/gallery/2023-04/MGKTO4GgsETTbKoc-image-1682394083400.png

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

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

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漏洞分析系列之调试环境搭建

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon