skills/code-audit/php/php-frontend-audit/SKILL.md
PHP 源码前端交互类漏洞审计。当在 PHP 白盒审计中需要检测前端安全相关漏洞时触发。 覆盖 5 类前端风险: XSS(反射/存储/DOM)、CSRF(Token 验证缺失)、 开放重定向(header Location 可控)、CRLF 注入(HTTP 响应拆分)、会话与 Cookie 安全(固定/劫持/属性)。 需要 php-audit-pipeline 提供的数据流证据。
npx skillsauth add wgpsec/AboutSecurity php-frontend-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.
本 skill 聚焦源码层面判断"前端安全漏洞是否成立",核心是验证用户可控数据在 HTTP 响应中的输出是否安全。构造 payload、绕 WAF 等运行时利用技术属于对应黑盒 exploit skill 范畴。
| 类型 | 典型 Sink | 触发条件 | 严重度 |
|------|-----------|----------|--------|
| XSS (反射/存储/DOM) | echo, print, 模板输出 {!! !!} | 用户输入未转义输出到 HTML 上下文 | High-Critical |
| CSRF | 状态变更表单/API | 缺少 Token 校验且无 SameSite 保护 | Medium-High |
| 开放重定向 | header("Location:"), 框架 redirect() | 重定向目标 URL 用户完全可控 | Medium |
| CRLF 注入 | header(), setcookie() | 用户输入含 \r\n 进入 HTTP 响应头 | Medium-High |
| 会话安全 | session_start(), setcookie() | session 固定/Cookie 属性缺失 | Medium-High |
htmlspecialchars 不能覆盖所有场景ENT_QUOTES flag(默认 ENT_COMPAT 不转义单引号)和正确的编码参数('UTF-8'){{ }} 自动转义但 {!! !!} 不转义;Twig {{ }} 自动转义但 |raw 过滤器跳过;Smarty 取决于 $escape_html 配置<script> 标签或 HTML data 属性,前端 JS 取出后写入 DOM(innerHTML/document.write)VerifyCsrfToken 的 $except 数组、ThinkPHP 的 token_on 配置——被排除的路由是高风险目标SameSite=Lax 可防御大多数 CSRF(但不防 GET 型),None 无保护,缺省值因浏览器而异header("Location: " . $_GET['url']) 是经典模式,也包括框架的 redirect($url)//evil.com(协议相对 URL)、///evil.com、\evil.com(IE 兼容)、javascript: 伪协议都能绕过简单校验example.com.evil.com 绕过前缀)header("X-Custom: " . $input) 中 $input 含 \r\n 可注入额外响应头header() 已检测 \r\n 并抛 warning(但 setcookie() 到 PHP 8.x 才完善防护)Set-Cookie 头实现 Session 固定、注入空行后写 Body 实现 XSStrue 删除旧 Session 文件session.cookie_httponly=1(防 JS 读取)、session.cookie_secure=1(仅 HTTPS)、session.cookie_samesite=LaxSessionHandlerInterface 时,read()/write() 是否有注入风险(如存储在 DB 时的 SQL 拼接)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 伪造的场景都应使用此技能