Java:Shiro 专题 + CB链

outman
5
2025-07-02

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 方法