
Java Frontend Audit
Java 源码前端安全类漏洞审计。当在 Java 白盒审计中需要检测前端安全漏洞时触发。 覆盖 5 类风险: XSS(JSP/Thymeleaf/FreeMarker...
Install
npx skills add wgpsec/AboutSecurity --skill java-frontend-audit -g -a claude-code -y- Repository
- wgpsec/AboutSecurity1.8k
- Category
- Security
- Updated
- 11d ago
- License
- See repository
- Context cost
- Lightabout 1,245 tokens
- Runs scripts
- No, instructions only
What it does
Java 源码前端安全类漏洞审计。当在 Java 白盒审计中需要检测前端安全漏洞时触发。 覆盖 5 类风险: XSS(JSP/Thymeleaf/FreeMarker 输出转义)、CSRF(Spring Security/自定义 Token)、 开放重定向(sendRedirect/forward)、CRLF 注入(Header/Cookie)、Session 管理(固定/超时/并发)。 需要 java-audit-pipeline 提供的数据流证据。
Java 前端安全类漏洞源码审计
本 skill 聚焦源码层面判断"前端安全漏洞是否成立",核心是验证用户输入在输出到 HTTP 响应(HTML/Header/Cookie/重定向)过程中的过滤与转义是否充分。构造 payload、绕 WAF 等运行时利用技术属于对应黑盒 exploit skill 范畴。
深入参考
- 5 类前端漏洞的危险模式 / 安全模式代码对比 / EVID 证据示例 -> references/frontend-vuln-patterns.md
5 类前端安全漏洞速查表
| 类型 | 典型 Sink | 危险模式 | 严重度 |
|---|---|---|---|
| XSS | JSP <%= %>, th:utext, ${var?no_esc}, out.println() | 用户输入未经转义直接输出到 HTML/JS 上下文 | High-Medium |
| CSRF | 状态变更 POST/PUT/DELETE 接口 | csrf().disable() 或缺少 Token 校验的写操作端点 | High-Medium |
| 开放重定向 | sendRedirect(), return "redirect:" + url | 用户可控 URL 直接传入重定向函数 | Medium |
| CRLF 注入 | setHeader(), addHeader(), addCookie() | 用户输入未过滤 \r\n 直接写入 HTTP 头 | Medium-High |
| Session 管理 | getSession(), Cookie 构造, session-timeout | 登录后未重建 Session / Cookie 缺少安全属性 | Medium-High |
通用审计流程(4 步)
Step 1 -- 确认 EVID 证据点: 从 java-audit-pipeline Phase 3 产出的 EVID_* 证据中,筛选前端安全类条目(EVID_XSS_、EVID_CSRF_、EVID_REDIR_、EVID_CRLF_、EVID_SESSION_*)。没有 EVID 证据的 Sink 只能标"待验证"。
Step 2 -- 判断过滤有效性: 追踪 Source->Sink 路径上每一步过滤/转义操作,评估其对当前漏洞类型是否有效。常见陷阱: <c:out> 安全但 <%= %> 不转义、th:text 安全但 th:utext 不转义、URL 白名单可被 //evil.com 绕过。
Step 3 -- 评估绕过可能性: 过滤存在但不充分时,分析具体绕过路径(上下文切换、编码差异、URL 解析差异等)。能给出绕过思路则标"已确认",否则标"待验证"并记录已知过滤方式。
Step 4 -- 确定严重度: 使用 java-audit-pipeline 的三维度评分公式 Score = R*0.40 + I*0.35 + C*0.25。XSS 存储型 I=2-3,反射型 I=1-2;CSRF 取决于被保护操作的影响。

