SuperAPI AI 工具集

php-frontend-audit

安全与审计

查看项目

更新于 10-16 09:52

技能介绍

用途:在 PHP 源码审计中判断“前端交互类安全漏洞是否成立”,核心是验证用户可控数据在 HTTP 响应中的输出是否安全。构造 payload、绕过 WAF 等运行时利用属于黑盒 exploit 技能范畴,不在本技能内。

主要能力(5 类):

  1. XSS(反射/存储/DOM):关注 echo、print、模板输出(如 {!! !!})等 Sink;用户输入未转义输出到 HTML 上下文。审计要点包括输出上下文(HTML body、属性、JS 字符串、URL 各需不同转义)、htmlspecialchars 是否使用 ENT_QUOTES 与 UTF-8、模板引擎自动转义是否被关闭(Blade {{ }} 与 {!! !!}、Twig 与 |raw、Smarty 的 $escape_html)、存储型需跨存储边界追踪输出转义、后端 JSON 输出被前端写入 DOM 的 DOM XSS。严重度 High-Critical。
  2. CSRF:关注状态变更表单/API 缺少 Token 且无 SameSite 保护;检查框架中间件例外(如 Laravel VerifyCsrfToken 的 $except、ThinkPHP 的 token_on)、SameSite 取值(Lax/None/缺省)、自定义 Token 是否绑定 Session、一次性消费与时效。Medium-High。
  3. 开放重定向:header("Location:") 与框架 redirect() 目标可控;注意 parse_url 绕过(//evil.com、///evil.com、\evil.com、javascript: 伪协议),正确做法是解析 host 后对比白名单而非前缀或正则。Medium。
  4. CRLF 注入:header()、setcookie() 中用户输入含 \r\n 进入响应头;PHP 7.0+ header() 已检测并告警,setcookie() 到 PHP 8.x 才完善防护;可用于注入 Set-Cookie 或空行后写 Body。Medium-High。
  5. 会话安全:session_regenerate_id 登录后应调用(参数 true 删旧文件)、Cookie 属性 httponly/secure/samesite、自定义 SessionHandlerInterface 的 read()/write() 注入风险。Medium-High。

使用方式:按技能内检测清单逐项审查,证据模式与安全/危险代码对比见 references/frontend-patterns.md;严重度评分使用统一公式,与 pipeline 一致。

限制:资料未提供价格、平台、安装命令等细节;技能聚焦源码判定,不含黑盒利用。