원클릭으로
java-shiro-audit
Apache Shiro 专属安全审计工具。重点排查 Shiro 权限绕过漏洞(CVE-2020-1957 等路由匹配差异)、默认密钥(RememberMe 反序列化漏洞)及不安全的 Session 管理配置。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Apache Shiro 专属安全审计工具。重点排查 Shiro 权限绕过漏洞(CVE-2020-1957 等路由匹配差异)、默认密钥(RememberMe 反序列化漏洞)及不安全的 Session 管理配置。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
基于 ID 串联的 API 逻辑漏洞深度审计工具。支持源码及 jar/class 反编译,精准追踪 Controller 传参点,自动提取并利用泄漏的 ID 进行跨接口参数碰撞,挖掘越权与信息泄露漏洞。内建危险操作(删除/修改等)过滤机制。
Trae 专属 Java 代码安全审计全自动流水线。当你需要一键自动执行完整的代码审计(反编译、路由提取、鉴权扫描、组件扫描、漏洞深挖、最终汇总)时调用此技能。它会自动使用 Agent Team 进行多阶段的并发调度和质检。
Java 鉴权机制与越权漏洞审查工具。智能识别 Spring Security、Shiro 及自定义拦截器,评估访问控制缺陷。当需要检查接口权限、发现未授权访问或越权风险时调用。
Java 业务逻辑漏洞专属审计工具。重点排查越权漏洞(IDOR)、并发漏洞(竞态条件)、验证码绕过、支付与密码找回等与技术组件无关,但严重影响业务安全的逻辑缺陷。
Java 反序列化漏洞审查工具。深入扫描 ObjectInputStream、Fastjson、Jackson、XStream 等反序列化入口,检查 JEP 290 过滤及相关利用链(如 CC 链)风险。当用户要求审查反序列化漏洞或 JSON 解析安全时调用。
Java 文件操作与上传/下载漏洞审查工具。排查路径遍历、任意文件上传及危险扩展名处理。当要求检查文件上传、下载功能或目录穿越漏洞时调用。
| name | java-shiro-audit |
| description | Apache Shiro 专属安全审计工具。重点排查 Shiro 权限绕过漏洞(CVE-2020-1957 等路由匹配差异)、默认密钥(RememberMe 反序列化漏洞)及不安全的 Session 管理配置。 |
Apache Shiro 是 Java 领域极其常用的认证与授权框架,但由于其历史架构问题,频繁爆出权限绕过 (Auth Bypass) 与 反序列化 (Deserialization) 漏洞。本技能专门用于深度审查基于 Shiro 的安全配置和实现代码。
java-ai-code-audit) 中,如果发现项目中引入了 shiro-core 或 shiro-spring 依赖,必须调用本技能进行专项检查。ShiroConfig, ShiroFilterFactoryBean 或自定义 Realm 的代码时。pom.xml 或 build.gradle,提取 Shiro 的具体版本号。< 1.2.4,极大概率存在经典的 RememberMe 默认密钥反序列化漏洞 (CVE-2016-4437)。< 1.5.3,存在结合 Spring 动态路由的权限绕过漏洞 (CVE-2020-1957) 等。CookieRememberMeManager 的代码位置(通常在 ShiroConfig.java 中)。setCipherKey() 方法。如果传入的是硬编码的 Base64 字符串(如著名的 kPH+bIxk5D2deZiIxcaaaA==),则是严重漏洞。setCipherKey()(即使用默认随机生成),在单机环境下安全,但在集群环境下会导致 Session 验证失败,需提醒用户。@Value("${shiro.key}")),必须去对应的 application.yml 或 properties 中确认该值是否为众所周知的弱密钥。这是 Shiro 最复杂的审计点,主要源于 Shiro 的 AntPathMatcher 与 Spring 的路由解析规则存在差异(如对待 /, ;, %2e 的不同处理)。
ShiroFilterFactoryBean 的 setFilterChainDefinitionMap() 配置。/ 绕过检查:检查是否存在类似 /admin/* = authc 的配置。在老版本中,攻击者访问 /admin/1 会被拦截,但访问 /admin/1/(末尾加斜杠)会被 Spring 接受(Spring 认为等同于 /admin/1),而 Shiro 认为不匹配 /admin/*,从而导致权限绕过。; (分号) 绕过检查:检查 Spring Boot 版本。Spring 在处理 URL 路径参数(Matrix Variables)时,会将 ; 后面的内容截断。如果攻击者访问 /admin/page;bypass,Shiro 看到的是全路径可能放行,但 Spring 实际路由到了 /admin/page。PathMatchingFilter 或重写了 Spring 的 StrictHttpFirewall 来拦截恶意的路径字符。AuthorizingRealm 的类。doGetAuthenticationInfo (认证) 和 doGetAuthorizationInfo (授权) 方法。如果从数据库查询用户或权限时使用了拼接 SQL,会引发高危 SQL 注入(因为认证过程往往是未授权用户可触达的第一道门)。此步骤请遵循 ../shared/references/taint_analysis_rules.md。强制执行: 输出报告时,必须严格遵守全局审计报告输出规范:../shared/references/audit_reporting_standards.md。
报告结构应包含:
filterChainDefinitionMap 配置及绕过 Payload 示例(如 /api/admin/page;/..)。关于 Shiro 常见的弱密钥列表及经典绕过 Payload(如 CVE-2020-1957, CVE-2020-11989),请参阅 references/shiro_vulnerability_patterns.md。