maven-assembly-plugin就是一个用来打包项目的插件,可以把依赖、类文件什么的都打包在一起。这里的mainClass的值是 ysoserial.GeneratePayload ,这个就是主类。
根据这个配置,打开文件src/main/java/ysoserial/GeneratePayload.java,看到其中的main函数了吗,如图1。点左边的小箭头,里面有个debug,这就是调试了。
点击之后发现下面只会打印usage,因为你这会没加任何参数。所以,我们打开Debug Configurations:
修改Program arguments,加上运行时的命令行参数即可:
调试,可见我在CommonsCollections1这个gadget的代码里下拉个断点,这里已经成功断下,command的值是id:
调试任何Java的项目其实都大同小异,找主类,然后设置运行的参数,点击debug的按钮,调试就开始了。之后按F8是单步运行,F7是进入函数内部单步运行,一步步地跟进,就能够分析与挖掘漏洞了。