记一次Apache Shiro权限绕过实战
字数 926 2025-08-06 08:35:44

Apache Shiro 权限绕过漏洞 (CVE-2020-11989) 实战分析

漏洞概述

Apache Shiro 是一个强大且易用的 Java 安全框架,用于执行身份验证、授权、密码和会话管理。在 Apache Shiro 1.5.3 之前的版本中,当与 Spring 控制器一起使用时,特制请求可能导致身份验证绕过。

影响范围

  • Apache Shiro 版本 < 1.5.3
  • 仅影响 Spring 框架中使用 Shiro 进行鉴权的系统

漏洞原理

该漏洞源于 Shiro 在处理特定格式的 URL 时存在缺陷,攻击者可以通过构造特殊格式的请求绕过身份验证机制。

漏洞验证方法

  1. 识别目标系统使用 Shiro 框架(可通过 Cookie 中的 rememberMe 字段识别)
  2. 在目标 URL 后添加 /;/ 并拼接正常路径,例如:
    http://target.com/;/login
    
  3. 观察页面响应:
    • 如果页面正常返回且不需要验证,则存在漏洞
    • 如果返回错误或重定向到登录页,则可能已修复

实战利用步骤

  1. 识别目标:通过 Burp Suite 等工具识别使用 Shiro 框架的网站

  2. 测试反序列化漏洞

    • 先尝试经典的 Shiro 反序列化漏洞 (CVE-2016-4437)
    • 如果已修复,则尝试权限绕过漏洞
  3. 权限绕过验证

    http://target.com/;/protected/resource
    
  4. 信息收集与扩大战果

    • 通过 FOFA 等平台搜索同类系统
    • 尝试弱口令进入同类系统后台
    • 收集后台接口 URL
    • 将这些 URL 拼接到目标站点进行未授权访问:
      http://target.com/;/collected/api/endpoint
      

防御措施

  1. 升级到 Apache Shiro 1.5.3 或更高版本
  2. 实施严格的 URL 路径验证
  3. 对所有敏感接口实施二次验证
  4. 禁用不必要的 HTTP 方法

工具推荐

  1. 识别工具

    • Burp Suite 插件(可自动识别 Shiro 框架)
    • 手工检查 Cookie 中的 rememberMe 字段
  2. 利用工具

    • Shiro 反序列化利用工具(先尝试)
    • 手工构造 /;/ 格式的 URL

注意事项

  1. 该漏洞需要结合具体场景利用,单独存在可能危害有限
  2. 利用前应确认目标系统的授权状态
  3. 漏洞利用后应及时报告给相关方

参考链接

Apache Shiro 权限绕过漏洞 (CVE-2020-11989) 实战分析 漏洞概述 Apache Shiro 是一个强大且易用的 Java 安全框架,用于执行身份验证、授权、密码和会话管理。在 Apache Shiro 1.5.3 之前的版本中,当与 Spring 控制器一起使用时,特制请求可能导致身份验证绕过。 影响范围 Apache Shiro 版本 < 1.5.3 仅影响 Spring 框架中使用 Shiro 进行鉴权的系统 漏洞原理 该漏洞源于 Shiro 在处理特定格式的 URL 时存在缺陷,攻击者可以通过构造特殊格式的请求绕过身份验证机制。 漏洞验证方法 识别目标系统使用 Shiro 框架(可通过 Cookie 中的 rememberMe 字段识别) 在目标 URL 后添加 /;/ 并拼接正常路径,例如: 观察页面响应: 如果页面正常返回且不需要验证,则存在漏洞 如果返回错误或重定向到登录页,则可能已修复 实战利用步骤 识别目标 :通过 Burp Suite 等工具识别使用 Shiro 框架的网站 测试反序列化漏洞 : 先尝试经典的 Shiro 反序列化漏洞 (CVE-2016-4437) 如果已修复,则尝试权限绕过漏洞 权限绕过验证 : 信息收集与扩大战果 : 通过 FOFA 等平台搜索同类系统 尝试弱口令进入同类系统后台 收集后台接口 URL 将这些 URL 拼接到目标站点进行未授权访问: 防御措施 升级到 Apache Shiro 1.5.3 或更高版本 实施严格的 URL 路径验证 对所有敏感接口实施二次验证 禁用不必要的 HTTP 方法 工具推荐 识别工具 : Burp Suite 插件(可自动识别 Shiro 框架) 手工检查 Cookie 中的 rememberMe 字段 利用工具 : Shiro 反序列化利用工具(先尝试) 手工构造 /;/ 格式的 URL 注意事项 该漏洞需要结合具体场景利用,单独存在可能危害有限 利用前应确认目标系统的授权状态 漏洞利用后应及时报告给相关方 参考链接 Apache Shiro 官方安全公告 CVE-2020-11989 详细分析