shiro复现
环境搭建
以下漏洞都可以从vulhub下载
@https://github.com/vulhub/vulhub/tree/master/shiro
CVE-2010-3863
影响版本
1 |
|
漏洞原理
shiro进行权限验证前未对url做标准化处理,可以通过构造/、//、/./、/../等绕过权限验证
docker启动
1 |
|
访问ip:8080
正常请求/admin会跳转回登录页面
构造/./admin绕过验证
CVE-2016-4437(Shiro-550)
影响版本
1 |
|
漏洞原理
在apache shiro 1.2.4以前的版本中,加密的用户信息序列化后存储在名为remember-me的cookie中。
攻击者可以使用shiro的默认密钥伪造用户cookie触发java反序列化漏洞,进而在机器中RCE
使用docker搭建环境
1 |
|
手动利用可以参考https://github.com/vulhub/vulhub/blob/master/shiro/CVE-2016-4437/README.zh-cn.md
通过手动构造恶意利用类
这里我使用shiro综合利用工具(https://github.com/SummerSec/ShiroAttack2)
先爆破密钥,再检测利用链
随后即可执行命令或者注入内存马
CVE-2020-1957
影响版本
1 |
|
漏洞原理
在apache shiro 1.5.2以前的版本中,在使用spring动态控制器时,攻击者通过构造..;
这样的跳转,可以绕过shiro中对目录的权限限制。
使用docker搭建环境
1 |
|
访问ip:8080
直接访问admin会被重定向
构造/xxx/..;/admin/
绕过权限限制,也可以使用fuzz对其进行测试
CVE-2019-12422(Shiro-721)
影响版本
1 |
|
漏洞原理
Shiro使用了AES-128-CBC模式对cookie进行加密,导致恶意用户可以通过Padding Oracle攻击方式构造序列化数据进行反序列化攻击,例如SHIRO-550。(Shiro-721)
环境搭建
1 |
|
访问ip:8080
可参考https://github.com/inspiringz/Shiro-721 手工利用
我是脚本小子直接利用工具一把梭