一、漏洞产生的原因
shiro1.2.4版本及一下,rememberMe功能使用的加密密钥是硬编码在源码中
二、漏洞的原理
shiro框架有一个rememberMe功能,会在登录成功后返回一个rememberMe字段,作为认证凭据
在请求的Cookie中添加rememberMe字段,会再服务器对该字段进行base64解码,aes解密,再反序列化,如果密钥硬编码,则rememberMe字段的值可被而已构造,造成反序列化漏洞
三、复现步骤
vulhub上启动环境
构造poc
1、使用java反序列化漏洞利用工具ysoserial生成poc,再写代码进行加密、编码,生成最终的poc
2、利用工具直接生成poc(后补充)
将生成的poc作为请求cookie的值发送请求,查看是否生效