美文网首页信安文摘
【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