数字医学与健康大会DMHC——美创与您相约古都金陵
2025-08-12
美创科技打造县域医疗灾备新标杆|神木市医院 HIS 系统数据库分钟级切换演练实录
2025-07-02
百万罚单警示!DCAS助力金融机构筑牢数据安全防线,实现监管合规
2025-06-20
2025中国互联网产业年会丨《中国互联网产业绿色算力发展倡议》正式发布
2025-02-07
美创用户专访 | 精细化管理:医疗行业数据分类分级的策略与实践
2025-01-10
存储域
数据库加密 诺亚防勒索访问域
数据库防水坝 数据库防火墙 数据库安全审计 动态脱敏流动域
静态脱敏 数据水印 API审计 API防控 医疗防统方运维服务
数据库运维服务 中间件运维服务 国产信创改造服务 驻场运维服务 供数服务安全咨询服务
数据出境安全治理服务 数据安全能力评估认证服务 数据安全风险评估服务 数据安全治理咨询服务 数据分类分级咨询服务 个人信息风险评估服务 数据安全检查服务Apache Shiro是一个强大的简单易用的Java安全框架,主要用来更便捷的认证,授权,加密,会话管理。目前被广泛用在大量的登录认证功能中,而该框架的历史版本中存在多个高危漏洞,本文就以两个严重漏洞进行漏洞复现演示其效果。
01
CVE-2016-4437反序列漏洞复
影响范围
Apache Shiro < 1.2.4
漏洞原理
ApacheShiro框架提供了记住我(RememberMe)的功能,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问。
Shiro对rememberMe的cookie做了加密处理,shiro在CookieRememberMeManager类中将cookie中rememberMe字段内容分别进行序列化、AES加密、Base64编码操作。
在识别身份的时候,需要对Cookie里的rememberMe字段解密。根据加密的顺序,不难知道解密的顺序为:
获取rememberMecookie
Base64 decode
解密AES(加密密钥硬编码)
反序列化(未作过滤处理)
但是,AES加密的密钥key被硬编码在代码里,意味着每个人通过源代码都能拿到AES加密的密钥。因此,攻击者构造一个恶意的对象,并且对其序列化,AES加密,base64编码后,作为cookie的rememberMe字段发送。Shiro将rememberMe进行解密并且反序列化,最终造成反序列化漏洞。
常用payload
https://github.com/insightglacier/Shiro_exploit
漏洞复现
从vulhub中下载安装靶机
https://github.com/vulhub/vulhub/tree/master/shiro/CVE-2016-4437
正常访问
抓包看请求包,返回包中含有Set-Cookie: rememberMe=deleteMe;这一般为shiro的指纹特征。
使用上面的poc进行漏洞利用,下载poc并执行
python3shiro_exploit.py -u http://192.168.160.239:8080 -p "touchsuccessshiro.txt" -t 3
成功创建successshiro.txt文件
02CVE-2020-1957认证绕过漏洞复现
影响范围
ApacheShiro < =1.5.1
漏洞原理
ApacheShiro 1.5.1以前的版本中,Spring Boot中使用Apache Shiro进行身份验证、权限控制时,可以精心构造恶意的URL,利用Apache Shiro和SpringBoot对URL的处理的差异化,可以绕过ApacheShiro对Spring Boot中的Servlet的权限控制,越权并实现未授权访问。如攻击者通过构造..;这样的跳转,可以绕过Shiro中对目录的权限限制。
常用payload
/xxx/..;/
漏洞复现
从vulhub下载安装靶机
https://github.com/vulhub/vulhub/blob/master/shiro/CVE-2020-1957/README.zh-cn.md
正常访问admin管理页面,会重新跳转的登录页面
http://192.168.160.239:8080/admin/
利用该漏洞poc,在admin前添加/xxx/..;/,即
http://192.168.160.239:8080/xxx/..;/admin/,注意最后斜杠要带上。
成功进入admin管理页面。