skills/code-audit/java/java-auth-config-audit/SKILL.md
Java 源码认证与配置安全审计。当在 Java 白盒审计中需要检测认证绕过、权限缺陷或安全配置问题时触发。 覆盖 6 类风险: 认证绕过(Spring Security/Shiro Filter 链 URI 解析差异)、 越权(IDOR/水平越权/垂直越权)、JWT 安全(算法混淆/密钥泄露/Claims 验证)、 加密配置(弱算法/硬编码密钥/不安全随机数)、信息泄露(错误堆栈/Actuator/Debug 模式)、 业务逻辑漏洞(竞争条件/金额篡改/流程绕过)。
npx skillsauth add wgpsec/AboutSecurity java-auth-config-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Java 后端项目中认证、授权与安全配置是最高频的漏洞产出面。本 skill 提供 6 大类白盒审计的完整检测思路,适用于 Spring Boot/Spring Security、Apache Shiro 及自定义框架。
java-framework-audit — Spring/Struts/MyBatis 框架审计java-injection-audit — SQL/OGNL/EL 注入审计java-serialization-audit — 反序列化漏洞审计idor-methodology — 黑盒 IDOR 测试方法论| # | 类别 | 关键搜索入口 | 危害等级 |
|---|------|-------------|---------|
| 1 | 认证绕过 | SecurityConfig, ShiroFilterFactory, doFilter | 严重 |
| 2 | 越权 | DAO/Mapper 查询语句, @PreAuthorize, Controller 参数 | 高 |
| 3 | JWT 安全 | Jwts.parser(), Algorithm.HMAC, SECRET_KEY | 高 |
| 4 | 加密配置 | MessageDigest, Cipher.getInstance, new Random() | 高 |
| 5 | 信息泄露 | application.yml Actuator 配置, @ExceptionHandler | 中 |
| 6 | 业务逻辑 | 余额/库存操作, 状态机流转, 支付回调 | 高 |
FilterChainProxy 匹配规则,AntPathRequestMatcher 与 MvcRequestMatcher 差异(尾部斜杠/路径后缀);requestMatchers 顺序——宽松规则 permitAll() 在前会覆盖后续拦截;permitAll() 是否过度开放(如 /api/**)/admin/ vs /admin vs /admin/..;/;CVE-2020-1957 / CVE-2020-11989 / CVE-2020-13933 等 path normalization 系列绕过doFilter() 中 early return 导致后续 chain 未执行;白名单正则不严谨(如 startsWith("/public") 可被 /publicevil 匹配)WHERE id = #{orderId} 缺少 AND user_id = #{currentUserId} 条件@PreAuthorize/@RequiresRoles;枚举值(角色 ID)可猜解alg: none 绕过签名验证;RS256 -> HS256 攻击(用公钥作为 HMAC 密钥)SECRET_KEY = "xxx" 或 application.yml 明文配置exp(过期)/iss(签发者)/aud(受众) 未验证导致 token 可跨环境复用refresh_token 长期有效且未绑定用户/设备,被盗后可无限刷新MD5/SHA1 做密码哈希、DES/RC4 加密、ECB 模式(泄露数据模式)bcrypt/scrypt/argon2;对称加密用 AES-GCM/AES-CBC+HMACprivate static final String KEY = "..." 或盐值写死在代码中java.util.Random 可预测,安全场景必须用 SecureRandom/env(环境变量/密码)、/heapdump(堆内存含密钥)、/jolokia(远程代码执行)server.error.include-stacktrace=always、spring.devtools 未移除log.info("用户密码: {}", password) 或完整信用卡号写入日志文件审计时逐项确认,每发现一项即记录 EVID 证据:
permitAllfilterChainDefinitionMap URI 解析差异绕过testing
Azure 云环境渗透测试总体方法论。当目标使用 Azure/Microsoft 365/Entra ID、发现 Azure 相关资产(Blob Storage/App Service/Azure VM/Azure Functions)、获取 Azure 凭据(Service Principal/Managed Identity/Access Token)、或需要对 Azure 环境进行安全评估时使用。提供从未授权枚举到 Entra ID 攻击、服务提权、Cloud-to-OnPrem 横向移动的全流程决策树。覆盖 35+ Azure 服务攻击面
tools
Mythic C2 操作方法论。当需要部署 Mythic、选择 Mythic Agent、安装 C2 Profile、配置 HTTP/DNS/WebSocket/SMB/TCP 通信、生成 payload、管理回连任务,或把 Mythic 作为跨平台 C2 框架用于授权红队演练时使用。覆盖 mythic-cli 安装、Agent/Profile 选择、SSL 证书配置、payload 构建和基础 OPSEC 判断
development
Docker 安全测试与容器渗透方法论。当需要评估 Docker 容器、Docker Daemon、Docker Registry、镜像层、构建产物或容器逃逸风险时使用。覆盖容器环境识别、特权容器逃逸、docker.sock/Remote API 利用、procfs/cgroup/capabilities 滥用、Docker 用户组提权、运行时/内核 CVE、Registry 枚举、镜像层 Secret 分析和构建上下文泄露。发现 Docker 容器环境、Registry 暴露、镜像凭据或容器配置错误时应使用此技能
development
使用 PadBuster 进行 Padding Oracle 攻击。当发现 Web 应用使用 CBC 模式加密且存在 Padding Oracle 漏洞时使用。PadBuster 可自动解密密文和伪造任意明文对应的合法密文,适用于加密 Cookie/Token/URL 参数。任何涉及 Padding Oracle 攻击、CBC 密文解密、Cookie 伪造的场景都应使用此技能