反序列化漏洞的危害是命令执行。
观察重写了readObject方法的函数是否有可触发存在漏洞的代码的逻辑。
如apache commons-collections 3.1漏洞出现的根源在 Commons-Collections 组件中对于集合的操作存在可以进行反射调用的方法,并且该方法在相关对象反序列化时并未进行任何校验。
InvokerTransformer:
Transformer implementation that creates a new object instance by reflection.
关于shiro:
在一篇博客中看到,remember字符串事实上是对你登陆后的 Principal 进行了序列化后再Base64的结果,我看源码里面基本也是这样。
Principal 是 shiro 的一个概念,表示一个唯一的字符串能表示你这个用户的,假设你依照最简单的用户名password登陆的方式,而且使用的是 SimpleAuthenticationInfo 对象。那么这个 Principal 事实上就是一个字符串,就是你的用户名 username,这串东西解密出来就是你的username。