ワンクリックで
php-file-upload-audit
PHP Web 源码文件上传审计工具。识别上传入口与保存路径、文件名处理与校验逻辑,检测任意文件上传/路径穿越/可执行上传风险,输出可利用性分级、PoC 与修复建议(禁止省略)。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
PHP Web 源码文件上传审计工具。识别上传入口与保存路径、文件名处理与校验逻辑,检测任意文件上传/路径穿越/可执行上传风险,输出可利用性分级、PoC 与修复建议(禁止省略)。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
PHP Web 归档解压(Zip Slip/路径穿越)审计工具。识别解压条目名如何与目标目录拼接、是否存在 base dir 约束缺失,输出可利用性分级、可观测 PoC 与修复建议(禁止省略)。
PHP Web 全链路白盒代码安全审计流水线(多文件版编排)。作为总编排参考,按 Sink 类型调用各子审计 skill(`php-route-mapper/php-auth-audit/php-route-tracer/php-*-audit`),并复用统一输出与分级标准。
PHP Web 源码鉴权机制审计工具。从源码中识别所有认证/鉴权实现并分析风险,输出路由-鉴权映射与漏洞分析(含 PoC 与修复建议)。
PHP Web 源码命令注入审计工具。识别命令执行 Sink(exec/system/shell_exec 等),追踪用户输入进入命令拼接,输出可利用性分级、PoC 与修复建议(禁止省略)。
CodeIgniter 框架特效安全审计工具。针对 CodeIgniter 的 CSRF、XSS 输出过滤、数据库查询构造、路由与验证器配置、会话 Cookie 安全等机制进行白盒静态审计,并映射到通用漏洞类型体系(CSRF/AUTH/XSS/SQL/CFG/SESS 等)。
PHP Web 配置安全审计工具。识别 CORS/错误暴露/调试开关/安全头/危险运行时开关等,输出分级、可利用性分析、PoC 与修复建议(禁止省略)。
| name | php-file-upload-audit |
| description | PHP Web 源码文件上传审计工具。识别上传入口与保存路径、文件名处理与校验逻辑,检测任意文件上传/路径穿越/可执行上传风险,输出可利用性分级、PoC 与修复建议(禁止省略)。 |
必须遵循:shared/PHP_AUDIT_EXECUTION_POLICY.md。
执行时统一采用“双通道 + 证据分层”规则:
高召回通道:先做静态 source/sink 初筛,覆盖 HTTP 路由与非路由入口(CLI/cron/queue/include)
高置信通道:再用 trace/EVID 做确认与降噪
状态判定统一为:✅已确认 / 🟡高概率 / ⚠️待验证 / ❌不可利用 / 🔍环境依赖
满足最小证据集(可达片段 + 可控线索 + sink 触发线索)=> 可标记 🟡高概率
满足完整 trace + EVID => 标记 ✅已确认
证据不足 => 标记 ⚠️待验证
严谨性要求保持不变,但不得因 trace 不完整而沉默:仍需输出疑似高危与缺失证据。
分析 PHP 项目源码,识别文件上传逻辑:$_FILES、move_uploaded_file 等,追踪保存目录与文件名处理方式,检测:
任意文件上传(任意类型/任意扩展名)
路径穿越(使用原始文件名拼接)
可执行文件上传(上传到 Web 可访问目录且未限制执行)
覆盖/同名冲突风险
必须遵循:shared/PHP_AUDIT_UNIFIED_STANDARD.md。
状态顺序必须固定为:✅已确认 / 🟡高概率 / ⚠️待验证 / ❌不可利用 / 🔍环境依赖。
trace 证据判定必须分层执行:
🟡高概率✅已确认⚠️待验证误报抑制必须检查:硬编码覆盖、白名单生效、不可达分支、沙箱/权限边界。 漏报抑制必须执行:trace 不全不沉默、sink-only 回退。 输出最小字段必须包含:位置、source->sink、前置条件、状态、PoC、修复。 执行优先级必须遵循:先发现、后文档。
证据置信度字段(强制):按 shared/PHP_AUDIT_UNIFIED_STANDARD.md 输出 HIGH/MEDIUM/LOW,并给出判定依据(与状态一致)。
复核清单(强制,至少 5 项):
详见:shared/SEVERITY_RATING.md
漏洞编号:{C/H/M/L}-UPLOAD-{序号}
识别:
$_FILES['{value}'] 字段
move_uploaded_file($_FILES['{value}']['tmp_name'], $dest)
保存路径拼接:$uploadDir.$filename、sprintf、join 等
重命名:uniqid/random_bytes/时间戳(若仍可控 filename 仍高危)
必须逐点检查并输出证据:
扩展名/白名单:是否只校验后缀(可绕过)
扩展名解析安全:是否存在“双后缀/多点后缀”绕过(如 a.php.jpg、.pHp 大小写绕过、尾部空白/Unicode 分隔符)
MIME/魔数:是否做 finfo_file/mime_content_type/文件头识别
MIME/魔数一致性:是否检查“服务端实际内容类型”与“扩展名/后缀”是否一致(避免仅信任 Content-Type)
文件名净化:是否去除路径分隔符与危险字符(../、\、:、空字节等)
上传目录:是否在 Web 根目录;是否有执行权限控制
写入后可访问性链:是否存在上传目录的静态映射/直链访问(需要结合路由或 webserver 配置证据)
鉴权:上传接口是否受保护
保存路径或文件名经过多层封装函数
校验逻辑存在分支,难以确认对所有上传路径生效
输出到:
{output_path}/vuln_audit/upload_{timestamp}.md
必须包含:
位置证据(保存/校验函数位置)
数据流链(filename/path 来源 -> 校验 -> 目标路径 -> 写入)
证据引用(来自 php-route-tracer 输出,必须逐项引用):必须对应并引用 trace 的 ## 9) Sink Evidence Type Checklist(UPLOAD 行)中的证据要点
EVID_UPLOAD_DESTPATH:destPath(保存目录最终落点)
EVID_UPLOAD_FILENAME_EXTENSION_PARSING_SANITIZE:file name/extension parsing & sanitization(文件名/扩展名解析与净化逻辑)
EVID_UPLOAD_ACCESSIBILITY_PROOF:可访问面证据(写入后是否形成可访问面:静态直连证据/映射证据)
EVID_UPLOAD_EXEC_DISABLE_STRATEGY:执行禁用策略证据(服务端执行禁用策略,如有)
可利用前置条件(鉴权/目录可访问性/绕过条件)
验证 PoC(包含真实上传路由,给出必要的 multipart 请求结构)
修复建议(白名单 + 魔数校验 + 目录隔离 + 随机化文件名 + 覆盖策略 + Webserver 执行禁用要点)
## 9) Sink Evidence Type Checklist(UPLOAD 行)中上述关键证据要点缺失:
🟡高概率,在报告中注明缺失的 EVID 点与补全建议。⚠️待验证(不得直接给出 ✅已确认可利用)。✅已确认可利用。