Shiro

Shiro简介

Shiro概述
Apache Shiro是一种功能强大且易于使用的Java安全框架,它执行身份验证、授权、 加密和会话管理,可用于保护任何应用程序的安全。

Shiro提供了应用程序安全性API来执行以下方面:
1)身份验证:证明用户身份,通常称为用户"登录";
2)授权:访问控制;
3)密码术:保护或隐藏数据以防窥视;
4)会话管理:每个用户的时间敏感状态。
上述四个方面也被称为应用程序安全性的四个基石。

shiro版本介绍:

Shiro-550
Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后用 户信息会经过加密编码后存储在cookie中。在 Cookie 读取过程中有用 AES 对Cookie 值解密的过程,对于 AES 这类对称加密算法,一旦秘钥泄露加密便形同虚 设。若秘钥可控,同时Cookie 值是由攻击者构造的恶意 Payload,就可以将流程 走通,触发危险的 Java 反序列化,从而导致远程命令执行漏洞。

Shiro-721
由于Apache Shiro cookie中通过 AES-128-CBC 模式加密的rememberMe字段存 在问题,用户可通过Padding Oracle 加密生成的攻击代码来构造恶意的rememberMe字段,并重新请求网站,进行反序列化攻击,最终导致任意代码执行

Shiro组件识别
在访问及登录时抓包,如果响应头set-cookie中显示rememberMe=deleteMe, 说明使用了Shiro组件
Shiro_第1张图片
通过fofa、zoomeye、shodan这类平台搜索相关特征来发现
目标

例 如 fofa 的 搜 索 关 键 词 : header=“rememberme=deleteMe” header=“shiroCookie”

Shiro历史漏洞

Shiro <= 1.2.4 :存在shiro-550反序列化漏洞;

1.2.5 <= Shiro < 1.4.2 :存在shiro-721反序列化漏洞;

Shiro历史漏洞发现
特征判断:返回包中包含rememberMe=deleteMe字段。

Shiro历史漏洞利用
1.漏洞环境搭建 使用vulhub靶场搭建
Shiro_第2张图片
这几个都可以尝试一下

你可能感兴趣的:(java)