JavaThings icon indicating copy to clipboard operation
JavaThings copied to clipboard

Share Things Related to Java - Java安全漫谈笔记相关内容

JavaThings - Java安全漫谈笔记相关

《Java安全漫谈》是我在写的一点Java学习相关的随笔,不是很严谨,也不是啥高科技。这个Repository主要是记录并整理一下,附加一些代码。

Java安全漫谈目录

Demo代码

字节码:

  • 远程字节码加载Demo:HelloClassLoader
  • 系统默认defineClass加载字节码Demo:HelloDefineClass
  • 使用TemplatesImpl加载字节码Demo:HelloTemplatesImpl
  • 使用BCEL加载字节码Demo:HelloBCEL

反序列化:

  • 最简单的Transformer Demo:CommonsCollectionsIntro.java
  • 我简化的CommonsCollections6,更方便大家理解
  • 利用TemplatesImpl构造的Transformer Demo:CommonsCollectionsIntro2.java
  • 无InvokerTransformer的Transformer Demo:CommonsCollectionsIntro3.java
  • 我简化的CommonsCollections3
  • CommonsCollections6一次执行多个命令:CommonsCollections6Multiple
  • 支持commons-collections4.0版本的CommonsCollections6利用链:CommonsCollections6For4
  • 我简化的CommonsBeanutils1利用链:CommonsBeanutils1
  • 简化版Java原生利用链 JDK7u21

Shiro反序列化:

  • 一个最简单的Shiro Web应用:shirodemo
  • 使用CommonsCollections6与Shiro默认Key构造Payload:Client0.javaCommonsCollections6.java,在Tomcat中可能会无法成功反序列化
  • 使用CommonsCollections、TemplatesImpl与Shiro默认Key构造Payload:Client.javaCommonsCollectionsShiro.java,解决上述问题
  • 使用Shiro默认自带的commons-beanutils构造的反序列化利用链:CommonsBeanutils1Shiro.java

自研反序列化分析工具: