Apache shiro反序列化漏洞

1.vulhub搭建环境

docker-compose up -d  启动环境

登录页面,点击记住我然后登录抓包直接在请求包或者响应包内看有没有 rememberMe=deleteMe

如果有直接上工具ShiroExploit输入目标地址进行检测,检测后可以直接执行命令,也可反弹shell,被反弹主机使用nc -nvlp 888 连接反弹shell(前提互相可以ping通)

1、漏洞原理
Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。在服务端对rememberMe的cookie值,先base64编码再进行AES解密再反序列化,而用户传入的值可以被用户控制,就导致了反序列化RCE漏洞。
漏洞利用的过程如下:
命令-->序列化-->AES加密-->base64编码-->RememberMe    Cookie值-->base64解码-->AES解密-->反序列化-->命令
在整个漏洞利用的过程中,重点在于AES加密的密钥,构造Payload的重点在于猜测AES加密使用的密钥。

2、影响的版本
Apache Shiro<1.2.4

3、特征判断
返回包中set-cookie中包含RememberMe=deleteMe字段

4.解决

由于key为固定所以cookie可以被解密,key改为随机key就不会出现这种问题.

 

posted @   Po-Jian  阅读(536)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示