Shiro_1.2.4_RememberMe复现调试
前言调试shiro 1.2.4 remember反序列化漏洞。
实验环境vulhub的CVE-2016-4437环境,springboot+shiro 1.2.4,修改docker-compose.y
...
实际上这篇文章难产了很久,反正就是前前后后摸了很久,这个洞感觉下来就是jdk的xmldecoder无限制的反序列化导致的代码执行。值得一提的是jdk的xmldecoder反序列化的处理方式在jdk6以下和6以后是不同的,这点不同导致很多8下可行的绕过方式没法在6下利用,所以分析处理流程时,本文会分版本讨论。
s2-061的漏洞复现,s2-061主要是绕s2-059的修复(com.opensymphony.xwork2.ognl 这整个包相当于都没法直接访问了即类似于#attr[‘struts.valueStack’].context是没法用了),这里的思路主要是用到了cc3.2.2中的BeanMap做中转,来解决不能直接访问被禁止包的问题。