idea 调试java技巧_【奇技淫巧】Intellij IDEA调试ysoserial等Java项目的方法

原标题:【奇技淫巧】Intellij IDEA调试ysoserial等Java项目的方法

用Intellij IDEA调试Java项目是研究Java安全的必备技能点,之前在其他地方分享过相关方法,这次在土司也分享一下,省点复活币 。

以 https://github.com/frohoff/ysoserial 为例,下载源码,然后用Intellij IDEA打开。如果这个项目里面包含了pom.xml文件,说明这个是用maven打包的项目,这时候Intelliy IDEA会自动根据其中的配置下载依赖。如果依赖有问题,你可以手工点击菜单里的Files - Project Structure,然后配置Libraries:

b3a306813bee8d7d702d1272f3ad2d86.png

依赖弄好了,我们需要干一件事,就是找找整个项目里有哪些入口点(其实就是主类和main函数)。这个其实可以在maven的配置文件里找到,比如ysoserial的主类在这里配置的:

ef257f7df10b5b5b8693ab7085de0f65.png

maven-assembly-plugin就是一个用来打包项目的插件,可以把依赖、类文件什么的都打包在一起。这里的mainClass的值是 ysoserial.GeneratePayload ,这个就是主类。

根据这个配置,打开文件src/main/java/ysoserial/GeneratePayload.java,看到其中的main函数了吗,如图1。点左边的小箭头,里面有个debug,这就是调试了。

637f51109719ff5df64f01bea54eec43.png

点击之后发现下面只会打印usage,因为你这会没加任何参数。所以,我们打开Debug Configurations:

1fc9f41e3f397c49c128b513974a7143.png

修改Program arguments,加上运行时的命令行参数即可:

8b62684abb9e174c9254f802c1b93d4e.png

调试,可见我在CommonsCollections1这个gadget的代码里下拉个断点,这里已经成功断下,command的值是id:

98eb8c376a2ce81f3b75fdd609909b4b.png

调试任何Java的项目其实都大同小异,找主类,然后设置运行的参数,点击debug的按钮,调试就开始了。之后按F8是单步运行,F7是进入函数内部单步运行,一步步地跟进,就能够分析与挖掘漏洞了。返回搜狐,查看更多

责任编辑:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值