shiro

shiro介绍

**Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。**Shiro框架直观、易用,同时也能提供健壮的安全性

Shiro-550 反序列化rce复现

环境搭建

cd vulhub-master/shiro/CVE-2016-4437
docker-compose up -d

漏洞原理

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

在服务端接收cookie值时,按照如下步骤来解析处理

1、检索RememberMe cookie 的值
2、Base64解码
3、使用AES解密(加密密钥硬编码)
4、进行反序列化操作(未作过滤处理)
在调用反序列化时未进行任何过滤,导致可以触发远程代码执行漏洞。

尽管目前已经更新了许多版本,官方并没有对反序列化漏洞本身解决,而是通过去掉硬编码的密钥,使其每次生成一个密钥来解决该漏洞。但是,目前一些开源系统、教程范例代码都使用来固定的编码,这里我们可以通过搜索引擎、github等来收集密钥,提高漏洞检测与利用的成功率。

只要rememberMe的AES加密秘钥泄露,无论shiro是什么版本都会导致反序列化漏洞

该漏洞已经曝光几年,但是在实战中仍然比较实用,每年的护网都能起到不小的作用,是护网三大洞之一

漏洞复现

输入账号密码 , 抓包

存在shiro , 这里直接使用工具构造反序列化实现rce

5.3综合利用工具

burp被动扫描插件

Plain Text

Copy

shiroScan https://github.com/pmiaowu/BurpShiroPassiveScan

shiro利用工具

Plain Text

Copy

shiro_attack-4.5.3-SNAPSHOT-all.jar shiro key字典 github 10w+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值