目录
漏洞介绍:
Shiro721漏洞是Apache Shiro安全框架中的一个漏洞,该漏洞影响了在某些情况下,使用默认设置的Shiro安全框架会在会话过期后继续保持会话状态,即使该会话是已经被删除的。攻击者可以利用这个漏洞访问未经授权的资源。
一、环境搭建:
这里是使用基于docker搭建漏洞环境
拉取漏洞环境:docker pull vulfocus/shiro-721
等待环境下载完成后
启动容器:docker run -d -p 8080:8080 vulfocus/shiro-721(映射到本地的8080端口)
环境启动完成后
在本地浏览器访问靶场地址:your-ip:8080
靶场搭建完成。
二、漏洞复现:
攻击流程:
1.使用任意账户登陆目标网站,以获取一个合法的 RememberMe Cookie
2.将获取的值作为POA的前缀
3.加密反序列化的payload来构造恶意RememberMe Cookie
4.将构造好的恶意数据填充到 RememberMe Cookie 字段中并发送
首先使用给出的正确的用户名和密码进行登录,勾选Renmenber Me,点击Login
使用Burp工具抓取此时的数据包,获取返回的rememberMe值。
看到它的响应包有rememberMe=deleteMe字段,判断是shiro框架,接下来的工具步骤我们使用工具进行实现。
三、漏洞利用:
确定请求方式,输入URL地址,直接选择爆破密钥,一旦爆破成功,便会直接返回指定密钥
选择爆破利用链及回显,同样,爆破成功便如图
命令执行,直接输入需要执行的命令,也可以反弹shell。
漏洞复现完成。
四、漏洞修复:
因为shiro721漏洞首先需要爆破得到key,因此可以对短时间内多次访问的ip进行禁止访问操作,来达到防御目的。还可以关闭rememberMe持久化登录功能。
(对工具感兴趣的小伙伴可以私聊我,我会及时分享。)