shiro漏洞复现及其攻击流量分析

前言

最近面试时经常被问到,每次说的都不太完美,现在再来复现一边。

shiro介绍

Apache Shiro是一个开源安全框架,提供身份验证、授权、密码学和会话管理。

CVE-2016-4437

利用vulhub搭建的靶场。

在Apache Shiro <= 1.2.4版本中存在反序列化漏洞。

该漏洞成因在于,Shiro的“记住我”功能是设置cookie中的rememberMe值来实现。当我们给rememberMe赋值时,它会经过一下过程。

  1. 检索cookie中RememberMe的值
  2. Base64解码
  3. 使用AES解密
  4. 反序列化

当我们知道了AES加解密时的密钥(该密钥是写死在代码中)时,我们便可以去修改rememberMe的值,改造其readObject()方法,让其在反序列化时执行任意操作。

服务器接收数据后的流程为

  1. 读取cookie中rememberMe值
  2. base64解码
  3. AES解密
  4. 反序列化

使用工具来执行命令。

image-20230409134603547

利用wireshark来抓取流量。

image-20230409134643553

image-20230409134652305

回显时会有一串base64加密的值,代表着命令执行成功。

image-20230409134742636

总结:CVE-2016-4437的攻击流量特征有

  1. 请求包Cookie的rememberMe中会存在AES+base64加密的一串java反序列化代码。
  2. 返回包中存在base64加密数据,该数据可作为攻击成功的判定条件。

如果攻击者利用其反弹shell,还可以通过对rememberMe中的数据解码来获得反弹的ip地址。

shrio550和721的区别

  1. 主要区别在于Shiro550使用已知默认密码,只要有足够的密码,不需要Remember Cookie的
  2. Shiro721的ase加密的key为系统随机生成,需要利用登录后的rememberMe去爆破正确的key值。利用有效的RememberMe Cookie作为Padding Oracle Attack的前缀,再去构造反序列化攻击。

CVE-2020-1957

在Spring web项目中,请求URI/resource/menus和/resource/menus/都可以访问到服务器的资源。

但在Shiro中的URL路径表达式pathPattern可以正确匹配/resource/menus,但不能正确匹配/resource/menus/,导致过滤链无法正确匹配,从而绕Shiro的防护机制

直接访问/xxx/…;/admin/可以绕过权限校验访问到管理页面

image-20230409183223703
该漏洞的流量分析只能去看请求头加ip的访问频繁次数来判断是否为测试。
image-20230409183453682

  • 11
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Shiro漏洞是指Apache Shiro框架的安全漏洞攻击者可以利用该漏洞来绕过Shiro框架的身份验证和访问控制机制,从而进行未授权访问等攻击Shiro漏洞流量特征包括: 1. HTTP请求中含有”/shiro/”字符; 2. HTTP请求中含有”rememberMe”参数; 3. HTTP请求中含有”JSESSIONID”参数; 4. HTTP响应中含有”org.apache.shiro.subject.SimplePrincipalCollection”字符; 5. HTTP响应中含有”rememberMe=deleteMe”字符。 注意:这些特征并不是一定会出现,攻击者可能会使用各种不同的技术来隐藏攻击行为,因此不能完全依赖这些特征来检测Shiro漏洞攻击。最好的方法是对Shiro框架进行及时更新,以修复可能存在的漏洞。 ### 回答2: Shiro漏洞是指Apache Shiro开源安全框架中存在的潜在漏洞。它是一种身份验证和授权框架,用于保护应用程序免受未经授权的访问。然而,如果配置不正确或使用不当,Shiro可能会暴露应用程序的风险。 Shiro漏洞流量特征是指与Shiro漏洞相关的网络流量的特点。通过分析流量特征,可以检测和识别潜在的Shiro漏洞攻击。 首先,Shiro漏洞流量通常涉及到对特定URL的请求。攻击者通常会发送针对Shiro特定漏洞的请求,例如使用反序列化或绕过Shiro的认证请求。 其次,Shiro漏洞攻击可能包含特定的HTTP头信息。攻击者通常会在请求头中添加特定的标识,以触发Shiro框架的漏洞。 另外,Shiro漏洞流量可能会包含异常或错误的响应。攻击者可能会利用漏洞来触发Shiro框架的错误处理逻辑,从而暴露更多的信息。 此外,Shiro漏洞攻击可能具有异常的访问行为。攻击者可能会尝试多次请求相同的资源,或者在短时间内发送大量请求,以尝试突破Shiro的认证或授权机制。 通过监测和分析网络流量,可以检测到这些特征,并采取相应的防护措施,如修补Shiro框架漏洞、配置正确的访问控制策略等,以防止Shiro漏洞攻击
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

f0njl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值