Shiro 550
shiro:Java 安全框架,用于验证,授权,加密
历史漏洞:https://avd.aliyun.com/search?q=Shiro
漏洞触发:CookieRememberMeManager
黑盒特征:数据包cookie有没有rememberme
用户名 -> writeObject() 序列化 ->AES 加密 -> base64 编码
借助java-chains项目生成 Poc 注入Cookie:rememberMe字段
和fastjson的区别
fastjson 通过执行set方法实现攻击,思路是找其他类通过 setxxx / getxxx方法 实现 RCE
shiro 是原生类逻辑,利用readObject() / tostring() 实现反序列化
CB 链
jdk :TemplatesImpl+PriorityQueue
Commons BeanUtils jar包:BeanComparator
当 PriorityQueue 在反序列化过程中进行元素排序时,会调用其 Comparator 的 compare 方法。由于 Comparator 被设置为 BeanComparator,因此会调用 BeanComparator.compare 方法