Shiro流量分析
前言
Shiro(Apache Shiro)是一个强大且灵活的开源安全框架,专为Java应用程序提供安全性解决方案。它由Apache基金会开发和维护,广泛应用于企业级应用程序和Web应用程序中。Shiro的设计目标是简化应用程序的安全性配置和开发过程,提供易于使用的API和丰富的功能。
本文主要介绍了Java框架Shiro和shiro工具的流量特征,以及Shiro-550漏洞的复现
CVE-2016-4437
登录界面
正常的流量包
返回包set-Cookie⾥没有 deleteMe字段的,返回包甚至都没有set-Cookie
登录失败的流量特征
看到一个结果
抓包,输入错误的密码,他就会返回一个rememberMe=deleteMe
,那么百分百是shiro框架,不管是否勾选记住密码,返回包都会有rememberMe=deleteMe
字 段
登录成功的流量特征
这时候再去请求别的页面就会有这个cookie特征,未登陆的情况下,请求包的cookie中没有rememberMe字段
没有登录的情况下,请求包的cookie中没有rememberMe字段,返回set-Cookie也没有deleteMe字段
不勾选RememberMe字段,登陆成功的话,返回包set-Cookie会有rememberMe=deleteMe 字段。
但是之后的所有请求中Cookie都不会有rememberMe字段
勾选RememberMe字段,登陆成功的话,返回包set-Cookie会有rememberMe=deleteMe字 段,还会有rememberMe字段,
之后的所有请求中Cookie都会有rememberMe字段
工具爆破的流量特征
工具的第一步就是去判断网站是否使用了shiro框架,开始之前,先设置工具代理,把流量转发到burp suite
就可以得到如下数据包,它添加了一个Cookie: rememberMe=yes
看看返回数据包,他也有一个Set-Cookie:rememberMe
,也就是登录失败,通过这个值来判断是否是shiro框架
密匙爆破流量分析,当成功之后就会有一个设置一个cookie:rememberMe
发送请求,爆破成功的set-cookie就没有rememberMe的值
我在cookie中随便添加几个字母/数字,他也会提示Set-Cookie: rememberMe=deleteMe,密匙爆破失败
成功后,还不能直接获得webshell,还需要爆破利用链和回显
利用链爆破流量分析
如果在秘钥正确的情况下,进行利用链爆破
利用链爆破失败流量
和密匙/浏览器登录流量一样,只要登录/爆破失败就会返回一个Set-Cookie:rememberMe=deleteMe
利用链爆破成功流量
当cookie非常长的时候。如果在研判 中发现cookie非常长,并且返回包状态码为200,那就要考虑网站是否被入侵了!
成功之后才能执行系统命令,获取flag
系统命令流量分析
执行命令时候的流量特征就是,rememberme 非常长,并且返回值是加密的,执行命令ls,在响应包中会出现三个$
ls -a
注入内存马流量
上传蚁剑一句话马
上传的过程流量
正常连接