freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

IDEA动态调试WebLogic
2023-07-08 16:19:37
所属地 上海

环境: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包的路径为<weblogic安装目录>\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。 http://book.zer0ne-sec.com/uploads/images/gallery/2023-04/scaled-1680-/SsheVxUxSNsnAXON-image-1682394109547.png

0x04 使用方法

0x0401 如何搜索类或函数

双击shift键后,勾选Include non-project items,之后就可以在搜索栏里搜索了 http://book.zer0ne-sec.com/uploads/images/gallery/2023-04/scaled-1680-/2NO4Q8lRAWRLSwXF-image-1682394130991.png

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

# 漏洞分析 # 动态调试
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录