freeBuf
主站

分类

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

特色

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

点我创作

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

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

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

FreeBuf+小程序

FreeBuf+小程序

IDEA动态调试jar包
FreeBuf_388531 2021-12-21 21:01:34 314593
所属地 香港

0x01.前言

写这篇文章的起因是,在学习java代码审计入门篇的过程中,其中有一部分关于IDEA对jar包的远程调试,其中作者动态调试用的是冰蝎jar包,但是在复现过程中,我发现调试中打的断点一直没有成功,刚开始以为是冰蝎包的版本太高,所以后面选择最低版本的冰蝎包来调试,发现还是不成功,而且在实际调试的入口类和书里面的类还是有一定差别。
java代码审计入门篇书中的入口类:

image

github 冰蝎包 反汇编的入口类:
image

所以我选择自己写一个简单的jar包并用IDEA动态调试。

0X02.IDEA 导出可执行的jar包

在IDEA的菜单中选择File–>Project Structure,如下图所示:
image

选择“Artifacts“在出现的图中点击加号
image

1) 需要选择jar包默认运行的入口类
2) 需要设置MANIFEST.MF的位置,在选择好入口类后系统会将MANIFEST.MF默认放在src/main/java下,需要将其放在/src/main/resources下

然后到这里还没有结束,继续点击Build–>Build Artifacts

image
image

上述步骤后,你会在相应工程的目录下看到一个名称为out的文件夹。其中可以找到对应的jar文件
image

0x03.动态调试导出的jar包

用IDEA 创建一个新的java项目,然后创建一个lib文件夹将jar包放入,右键选择lib文件夹的“Add as Library…”,将lib文件夹添加进项目依赖。成功添加后可以看到Jar包中反编译后的源代码。
image

调试选项的配置
image

通过右上角的“Add Configurations”,选择remote JVM debug,并单击“+”来添加。

默认配置界面,单击“Apply”提交并保存即可。其中“-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005”将作为运行时的启动参数。

suspend表示是否暂停程序等待调试器的连接,“y”表示暂停,“n”表示不暂停。建议选择暂停,避免程序执行过快导致一些断点无法拦截程序。

启动命令:

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 -jar demo3.jar
Listening for transport dt_socket at address: 5005

image

单击IntelliJ IDEA右上角的Debug按钮,即可发现程序在断点处暂停,然后就可以进行逐步的调试.

image

源码链接:https://pan.baidu.com/s/1DiXTv2DuEhbGO9xZtbQJUQ
提取码:3c8l

0x04.总结

通过最近java代码审计的学习,发现平时复现工作做的还是不够好,代码水平还是不行,导致学的不够深,浅尝辄止,希望在新的一年自己可以沉下心来好好提高自己的代码审计水平,欢迎大家关注我的公众号。

image

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