美文网首页信安文摘
【Java基础】 - IDEA编译、调试ysoserial

【Java基础】 - IDEA编译、调试ysoserial

作者: 君行路 | 来源:发表于2021-11-21 14:34 被阅读0次

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这个按钮,打包的时候就会跳过测试模块,再点击运行即可打包成功。

image

实际就等于以下这条命令:

mvn clean package -DskipTests

IDEA调试yso项目

学习java反序列化必然要弄清楚各个反序列化链的生成原理,而调试yso项目可以很方便分析具体的反序列化链的生成过程。

IDEA导入yso项目,下载好相关maven依赖后,整个项目就能运行了。

首先定位整个项目的入口,maven-assembly-plugin是一个用来打包项目的插件,可以把依赖、类文件等都打包在一起。这里的mainClass的值是 ysoserial.GeneratePayload ,这个就是主类,也就是入口函数:

可以在pom.xml文件中看到:

image

我们需要配置相关的启动选项(Run/Debug Configurations),可以直接点击GeneratePayload.main()函数旁边的绿色运行按钮:

image

就可以生成一个叫GeneratePayload的运行配置,运行生成具体的反序列化payload还需要其他参数,这里我以cc2为例,命令为whoami

image

点击运行,就会输出相关payload:

image

CommonsCollections2.getObject()函数里面下断点,点击调试按钮,就能进行调试了。

调试任何Java的项目其实都大同小异,找主类,然后设置运行的参数,点击debug的按钮,调试就开始了。

参考链接

ysoserial笔记

java 使用 idea 调试 ysoserial

微信公众:信安文摘

相关文章

网友评论

    本文标题:【Java基础】 - IDEA编译、调试ysoserial

    本文链接:https://www.haomeiwen.com/subject/nttmtrtx.html