mvn命令打包
微信公众:信安文摘
项目地址:https://github.com/frohoff/ysoserial
git clone https://github.com/frohoff/ysoserial.git
适用maven在命令行下打包:
mvn clean package -DskipTests
开始下载相关的maven库依赖,并且在target目录下构建成jar包。
出现如下提示即为打包成功:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 54.956 s
[INFO] Finished at: 2021-09-18T19:09:37+08:00
[INFO] ------------------------------------------------------------------------
IDEA图形化打包maven项目
用IDEA打开ysoserial项目目录。
先点击skip test
这个按钮,打包的时候就会跳过测试模块,再点击运行即可打包成功。
实际就等于以下这条命令:
mvn clean package -DskipTests
IDEA调试yso项目
学习java反序列化必然要弄清楚各个反序列化链的生成原理,而调试yso项目可以很方便分析具体的反序列化链的生成过程。
IDEA导入yso项目,下载好相关maven依赖后,整个项目就能运行了。
首先定位整个项目的入口,maven-assembly-plugin
是一个用来打包项目的插件,可以把依赖、类文件等都打包在一起。这里的mainClass的值是 ysoserial.GeneratePayload ,这个就是主类,也就是入口函数:
可以在pom.xml
文件中看到:
我们需要配置相关的启动选项(Run/Debug Configurations
),可以直接点击GeneratePayload.main()
函数旁边的绿色运行按钮:
就可以生成一个叫GeneratePayload
的运行配置,运行生成具体的反序列化payload还需要其他参数,这里我以cc2为例,命令为whoami
点击运行,就会输出相关payload:
image在CommonsCollections2.getObject()
函数里面下断点,点击调试按钮,就能进行调试了。
调试任何Java的项目其实都大同小异,找主类,然后设置运行的参数,点击debug的按钮,调试就开始了。
参考链接
微信公众:信安文摘
网友评论