概述
Shiro是一个功能强大且易于使用的Java安全框架,可以执行身份验证、授权、加密和会话管理。使用Shiro易于理解的API,您可以快速且轻松地保护任何应用程序——从最小的移动应用程序到最大的web和企业应用程序。
Shiro主要功能
1 | 1、Authentication:身份认证 |
更多需要参考网络
环境搭建
拉取docker项目并运行
1 | docker-compose up -d |
漏洞实战分类
CVE-2016-4437
漏洞描述
Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。
影响范围
Apache Shiro <=1.2.4
漏洞原理
Apache Shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rememberMe的cookie值 > Base64解码–>AES解密–>反序列化。然而AES的密钥是硬编码的,就导致了攻击者可以构造恶意数据造成反序列化的RCE漏洞。
shiro反序列化的特征:在返回包的 Set-Cookie 中存在 rememberMe=deleteMe 字段
漏洞条件
无
漏洞检测
1、URL访问
1 | http://192.168.3.219:8080/doLogin |
2、用户登录
1 | admin/vulhub |
3、PoC获取
运行后如下图所示
漏洞修复
更新至最新版本Shiro
参考
1 | https://www.cnblogs.com/kyleinjava/p/10542800.html |
赏
使用支付宝打赏
使用微信打赏
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏
扫描二维码,分享此文章