Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
wgpsec avatar

Php Frontend Audit

  • 11 installs
  • 1.6k repo stars
  • Updated July 19, 2026
  • wgpsec/aboutsecurity

Helps with frontend development tasks during AI-assisted development.

About

php-frontend-audit is a Claude Code skill for frontend development. It helps developers move faster with AI-assisted coding.

  • php-frontend-audit
  • Frontend Development
  • AI-coding skill

Php Frontend Audit by the numbers

  • 11 all-time installs (skills.sh)
  • Ranked #1,657 of 2,245 Frontend Development skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/wgpsec/aboutsecurity --skill php-frontend-audit

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs11
repo stars1.6k
Last updatedJuly 19, 2026
Repositorywgpsec/aboutsecurity

What it does

Helps with frontend development tasks during AI-assisted development.

Files

SKILL.mdMarkdownGitHub ↗

PHP 前端交互类漏洞源码审计

本 skill 聚焦源码层面判断"前端安全漏洞是否成立",核心是验证用户可控数据在 HTTP 响应中的输出是否安全。构造 payload、绕 WAF 等运行时利用技术属于对应黑盒 exploit skill 范畴。

深入参考

  • 5 类前端漏洞的危险模式 / 安全模式代码对比 / EVID 证据示例 → references/frontend-patterns.md

---

5 类前端漏洞速查表

类型典型 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

XSS 审计要点

  • 输出上下文决定转义需求: HTML body、属性、JavaScript 字符串、URL 各需要不同的转义策略,单一 htmlspecialchars 不能覆盖所有场景
  • htmlspecialchars 检查: 确认使用了 ENT_QUOTES flag(默认 ENT_COMPAT 不转义单引号)和正确的编码参数('UTF-8'
  • 模板引擎自动转义: Blade {{ }} 自动转义但 {!! !!} 不转义;Twig {{ }} 自动转义但 |raw 过滤器跳过;Smarty 取决于 $escape_html 配置
  • 存储型 vs 反射型: 存储型需跨越存储边界追踪——数据入库时是否过滤不重要,关键看输出时是否转义
  • DOM XSS: PHP 后端输出 JSON 到 <script> 标签或 HTML data 属性,前端 JS 取出后写入 DOM(innerHTML/document.write

CSRF 审计要点

  • 状态变更操作识别: 所有 POST/PUT/DELETE 请求中修改数据的操作都应有 Token 验证
  • 框架中间件例外: Laravel VerifyCsrfToken$except 数组、ThinkPHP 的 token_on 配置——被排除的路由是高风险目标
  • SameSite 属性: SameSite=Lax 可防御大多数 CSRF(但不防 GET 型),None 无保护,缺省值因浏览器而异
  • 自定义 Token 实现: 检查 Token 是否绑定 Session、是否一次性消费、是否有时效限制

开放重定向审计要点

  • header Location 可控: header("Location: " . $_GET['url']) 是经典模式,也包括框架的 redirect($url)
  • parse_url 绕过: //evil.com(协议相对 URL)、///evil.com\evil.com(IE 兼容)、javascript: 伪协议都能绕过简单校验
  • 安全白名单: 正确实现是解析 host 后对比允许域名列表,而非正则匹配或前缀检查(example.com.evil.com 绕过前缀)

CRLF 审计要点

  • header() + 用户输入: header("X-Custom: " . $input)$input\r\n 可注入额外响应头
  • PHP 版本差异: PHP 7.0+ 的 header() 已检测 \r\n 并抛 warning(但 setcookie() 到 PHP 8.x 才完善防护)
  • 利用方式: 注入 Set-Cookie 头实现 Session 固定、注入空行后写 Body 实现 XSS

会话安全审计要点

  • session_regenerate_id 时机: 登录成功后应调用此函数防止会话固定。参数 true 删除旧 Session 文件
  • Cookie 属性: session.cookie_httponly=1(防 JS 读取)、session.cookie_secure=1(仅 HTTPS)、session.cookie_samesite=Lax
  • 自定义 Session Handler: 实现 SessionHandlerInterface 时,read()/write() 是否有注入风险(如存储在 DB 时的 SQL 拼接)

检测清单

  • [ ] 所有前端类 EVID_* 证据点已逐一审查
  • [ ] echo/print 输出点的上下文类型已标注,转义方式与上下文匹配
  • [ ] 模板引擎的自动转义是否被关闭已检查
  • [ ] 状态变更路由的 CSRF Token 验证已确认,例外路由已标记
  • [ ] header() 和 redirect() 的目标参数来源已追踪
  • [ ] CRLF 注入对 PHP 版本与受影响函数已交叉确认
  • [ ] Session 配置(php.ini / 代码 ini_set)已审计
  • [ ] Cookie 四属性(httponly/secure/samesite/path)已逐项检查
  • [ ] 严重度评分使用了统一公式,与 pipeline 一致

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.