shiro流量分析

shiro流量分析

基于CVE-2016-4437

原理:

Apache Shiro框架提供了记住我的功能(RememberMe),用户登陆成功后会生成经过加密并编码的cookie。cookie的key为RememberMe,cookie的值是经过对相关信息进行序列化,然后使用aes加密,最后在使用base64编码处理形成的。

Shiro记住用户会话功能的逻辑

获取RememberMe的值 —> Base64解密 —> ASE解密 –> 反序列化 在服务端接收cookie值时,按照如下步骤来解析处理:1、检索RememberMe cookie 的值 2、Base 64解码 3、使用AES解密(加密密钥硬编码) 4、进行反序列化操作(未作过滤处理) 在调用反序列化时未进行任何过滤,导致可以触发远程代码执行漏洞。

环境

image-20240319204121406

image-20240319204055033

手工登录查看流量特征

image-20240319205754324

登录失败

返回包就会返回Set-Cookie:remember=deleteMe

image-20240319205739059

登录成功

image-20240319205816743

登录成功,就会出现 set-Cookie:remember=一长串值

下面还有会登录成功提示

工具爆破shiro的流量特征

检测是否为shiro框架的流量

工具的第一步肯定是去判断该网站是否使用了shiro框架

image-20240319205959773

image-20240319210021797

先设置代理不然burp抓不到包

image-20240319210135785

image-20240319210158690

检测时 工具设置了一个remember=1

网站返回 Set-Cookie: remember=deleteMe证明网站存在shiro框架。

image-20240319210242910

image-20240319210616328

爆破秘钥成功流量

再设置一个通过秘钥进行加密的序列化字符串,然后通过返回包来判断是不是爆破成功,如果返回包没有返回Set-Cookie: rememberMe=deleteMe,那就是爆破成功。

image-20240319210812128

image-20240319210910682

爆破成功

image-20240319211053118

当我在remember这多加几个2222使它错误

那返回包就会重新出现rememberme=deleteme

利用链爆破流量

在秘钥正确的情况下,进行利用链爆破,就会出现,cookie非常长的情况。如果在研判中发现cookie非常长,并且返回包状态码为200,那就要考虑网站是否被入侵

image-20240319211238495

image-20240319211253922

执行命令的流量

执行命令时候的流量特征就是,rememberme 非常长,并且返回值是加密的,但是开头和结尾都带三个$

image-20240319211958874

执行whoami

image-20240319212138253

image-20240319212144836

image-20240319212312262

执行ls

image-20240319212338984

注入内存马时候的流量

进行注入内存马,然后抓包查看流量的特征。

image-20240319212602533

image-20240319212624881

image-20240319212640891

可以看到,注入内存马的时候,cookie值非常长,并且数据包体pass参数非常长,也都是加密的数值。

如何防御shiro漏洞

  1. 升级shiro版本
  2. 限制cookie长度
    712566071970)]

可以看到,注入内存马的时候,cookie值非常长,并且数据包体pass参数非常长,也都是加密的数值。

如何防御shiro漏洞

  1. 升级shiro版本
  2. 限制cookie长度
  3. 不要使用硬编码的key
  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答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漏洞攻击。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值