php-deser-audit
PHP 反序列化审计(php-deser-audit)
分析 PHP 项目源码,识别用户可控数据进入 unserialize() 或等价反序列化点,结合类的魔术方法(__wakeup/__destruct/__call/__toString/{value})判断是否存在对象注入可利用链。
分级与编号
- 详见:
shared/SEVERITY_RATING.md - 漏洞编号:
{C/H/M/L}-DESER-{序号}
危险 Sink(必做)
unserialize($data)unserialize(base64_decode({value}))- 任何将用户输入转换后再反序列化的路径
可控性(必做)
必须追踪并输出:
- 反序列化入参来自哪里:GET/POST/Cookie/Session/Header/数据库字段等
- 是否存在 base64/加密/解码/拼接步骤(仍可能可控)
- 是否有校验/签名(如
hash_hmac)以及签名是否可靠(需要证据)
gadget 链识别(必做)
必须输出:
- 反序列化后的对象类型(或可能类型集合)
- 该类型类中魔术方法列表与触发条件
- “从对象创建 -> 魔术方法触发 -> 最终敏感操作(如文件/命令/SSRF/数据库)”的数据流链
tracer 触发条件(必做)
- 反序列化入参经过多层 decode/封装
- 魔术方法链跨多个类/文件
证据引用(强制:来自 php-route-tracer)
每条反序列化/对象注入疑似漏洞必须逐项引用 trace 输出中 ## 9) Sink Evidence Type Checklist 的 DESER 行对应证据要点(允许状态为待验证,但证据引用必须存在):
EVID_DESER_CALLSITE:反序列化调用点位置证据(unserialize 等等价点)EVID_DESER_INPUT_SOURCE:入参用户可控来源证据EVID_DESER_OBJECT_TYPE_MAGIC_TRIGGER_CHAIN:反序列化后对象类型/魔术方法触发条件证据(以及最终敏感操作点链路证据,若能定位)
tracer 证据缺失处理(强制)
- 若无法定位上述 1~3 任一关键证据要点:该漏洞状态只能标记为
⚠️待验证,不得直接给出✅已确认可利用。
报告输出
输出到:
{output_path}/vuln_audit/deser_{timestamp}.md
PoC(强制,但标注为“概念 PoC/验证 PoC”)
必须给出:
- 真实路由(或 cookie/session 字段使用方式)
- payload 生成思路(若无法生成真实 gadget payload,必须给出“需人工补齐的部分”并说明原因,同时仍保留可执行框架与可替换字段)
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