php-nosql-audit
PHP NoSQL 注入审计(php-nosql-audit)
分析 PHP 项目源码,识别用户输入如何进入 NoSQL 查询条件,并检测 operator 注入导致的鉴权绕过/数据泄露。
分级与编号
- 详见:
shared/SEVERITY_RATING.md - 漏洞编号:
{C/H/M/L}-NOSQL-{序号}
必检 Sink(强制)
常见于 MongoDB 驱动/ODM:
collection->find($filter)findOne($filter)/update($filter, {value})/delete($filter)where($condition)或->filter({value})- 将用户输入拼入查询数组/表达式的封装函数
必检危险模式(强制)
必须输出以下判断证据:
- 用户输入直接作为 filter/condition 数组的一部分(尤其是
json_decode的结果) - 存在“把用户输入当成结构化条件”的行为,而未强制类型/白名单
- query 中包含可能被滥用的运算符字段:
$ne/$gt/$lt/$or/$and/$where/$regex
tracer 触发条件
当用户输入是 JSON/数组/嵌套结构,且进入查询构造前有多层封装时,必须追踪到最终 sink。
报告输出
{output_path}/vuln_audit/nosql_{timestamp}.md
条目模板(强制)
每条漏洞必须包含:
- 位置证据(查询构造函数/最终 find/update 调用)
- 数据流链(输入解析 -> 类型 -> 查询条件)
- 可利用前置条件(鉴权状态/需要登录与否/能否改变查询操作符)
- 验证 PoC(必须真实路由与真实参数名;payload 为结构化 NoSQL 条件示例)
- 修复建议(严格字段 allowlist + 强制类型 + 避免把用户输入当作查询表达式)
证据引用(强制:来自 php-route-tracer)
每条 NoSQL 注入疑似漏洞必须逐项引用 trace 输出中 ## 9) Sink Evidence Type Checklist 的 NOSQL 行对应证据要点(允许状态为待验证,但证据引用必须存在):
EVID_NOSQL_QUERY_CONSTRUCTION:NoSQL 查询构造点证据(对应 find/update/delete 或 query builder 执行点)EVID_NOSQL_USER_INPUT_INTO_QUERY_STRUCTURE:用户输入进入查询条件结构的证据(可控字段进入 filter/where 的结构)EVID_NOSQL_OPERATOR_INJECTION_FIELDS:operator 注入字段证据($ne/$gt/$or/$where/$regex 等)
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