php-xss-audit
PHP XSS 审计(php-xss-audit)
分析 PHP 项目源码,识别跨站脚本(XSS):用户输入进入输出上下文且未做正确转义/编码,或框架禁用了自动转义导致表达式执行/HTML 注入。
分级与编号
- 详见:
shared/SEVERITY_RATING.md - 漏洞编号:
{C/H/M/L}-XSS-{序号}
XSS Sink(必做)
识别以下输出点:
- 原生输出:
echo/print/printf/<?= ?>(输出变量到响应) - 字符串拼接到响应:
header()/setcookie()(若包含可控内容) - 模板渲染:
- Twig:
{{ }}(转义)与{% autoescape false %}/|raw风险点 - Smarty:
fetch/display与不安全变量输出 - Blade 类:
{!! !!}(不转义输出)
- Twig:
- 动态脚本/事件属性:输出到
on*属性、<script>内、URL 参数
逃逸/防护检查(必做)
对每条疑似链必须分析:
- 是否存在
htmlspecialchars/htmlentities或框架自动转义 - 是否存在上下文编码(HTML、属性、JS、URL)
- 是否禁用了转义(raw/raw filter/unescaped output)
tracer 触发条件(必做)
- 用户输入经历多层处理、拼接成 HTML 片段
- 存在分支:某分支转义,另一分支不转义
- 输出点在模板层,输入在 controller 层
报告输出
输出到:
{output_path}/vuln_audit/xss_{timestamp}.md
漏洞条目模板(强制)
与 php-sql-audit 基本一致,但在数据流链里必须明确:
- 输出上下文:HTML body/attribute/script/URL 参数/模板片段
- 具体转义函数或转义关闭点的位置与证据
- PoC 必须包含可执行 XSS payload,并区分需要的编码方式
证据引用(强制:来自 php-route-tracer)
每条 XSS 疑似漏洞必须逐项引用 trace 输出中 ## 9) Sink Evidence Type Checklist 的 XSS 行对应证据要点(允许状态为待验证,但证据引用必须存在):
EVID_XSS_OUTPUT_POINT:响应输出点位置证据(echo/模板输出/<script>或属性/URL 上下文)EVID_XSS_USER_INPUT_INTO_OUTPUT:用户输入进入输出的证据EVID_XSS_ESCAPE_OR_RAW_CONTROL:转义/禁用转义证据(htmlspecialchars 等或 raw/raw 模式证据)
tracer 证据缺失处理(强制)
- 若无法定位上述 1~3 任一关键证据要点:该漏洞状态只能标记为
⚠️待验证,不得直接给出✅已确认可利用。
More from 0xshe/php-code-audit-skill
php-codeigniter-audit
CodeIgniter 框架特效安全审计工具。针对 CodeIgniter 的 CSRF、XSS 输出过滤、数据库查询构造、路由与验证器配置、会话 Cookie 安全等机制进行白盒静态审计,并映射到通用漏洞类型体系(CSRF/AUTH/XSS/SQL/CFG/SESS 等)。
35php-thinkphp-audit
ThinkPHP 框架特效安全审计工具。针对 ThinkPHP 常见的鉴权/CSRF/模板转义/ORM 写入(Mass Assignment)/调试与配置暴露等机制进行白盒静态审计,并映射到通用漏洞类型体系(AUTH/CSRF/TPL/XSS/LOGIC/CFG/SESS/SQL 等)。
25php-wordpress-audit
WordPress 框架特效安全审计工具。针对 WordPress 常见 nonce/capability/check_admin_referer、AJAX action、escape/sanitize、重定向、安全上传与远程请求等机制进行白盒静态审计,并映射到通用漏洞类型体系(AUTH/CSRF/XSS/SQL/CFG/SSRF 等)。
22php-symfony-audit
Symfony 框架特效安全审计工具。针对 Symfony 常见 security.yaml、CSRF、Twig/Twig raw、表达式与访问控制等框架机制做白盒静态审计,并将风险映射到通用漏洞类型体系(AUTH/CSRF/CFG/XSS/TPL/LOGIC 等)。
21php-xxe-audit
PHP Web 源码 XXE 审计工具。识别 XML 解析点与实体处理配置,追踪 XML 输入来源与回显,输出可利用性分级、PoC 与修复建议(禁止省略)。
20php-archive-extract-audit
PHP Web 归档解压(Zip Slip/路径穿越)审计工具。识别解压条目名如何与目标目录拼接、是否存在 base dir 约束缺失,输出可利用性分级、可观测 PoC 与修复建议(禁止省略)。
20