php-ssrf-audit
PHP SSRF 审计(php-ssrf-audit)
分析 PHP 项目源码,识别 SSRF 风险:用户可控 URL/主机/路径进入网络请求或读取类函数,且缺少协议 allowlist、DNS/IP 内网拒绝、端口限制等控制。
分级与编号
- 详见:
shared/SEVERITY_RATING.md - 漏洞编号:
{C/H/M/L}-SSRF-{序号}
SSRF Sink(必做)
识别至少以下网络/地址访问点:
curl_setopt(CURLOPT_URL, $url)/curl_execfile_get_contents($url)/readfile($url)/fopen($url, {value})stream_get_contents($stream)/fsockopen/pfsockopenget_headers($url)/dns_get_record(配合地址解析时) 危险模式:- URL/Host/Port/Path 来自用户输入且可控
- 协议未限制(允许
file://、gopher://、php://等)
必做的安全检查点
- 协议白名单:仅允许
http/https(如有必要) - DNS/IP 解析后内网网段拦截:拒绝
127.0.0.1/::1/10.0.0.0/8/172.16.0.0/12/192.168.0.0/16等 - 端口限制:拒绝内网高危端口(由项目策略决定)
- 重定向处理:跟随跳转的限制(如
CURLOPT_FOLLOWLOCATION) - 重定向与最终地址校验:即使初始 URL 通过 allowlist,仍必须对“重定向后的最终 URL”执行同等拦截与协议校验
- DNS rebinding 防护:允许域名访问时,必须在实际发起请求前进行最终解析,或使用安全解析策略避免“先外网后内网”
- URL 归一化:对编码后的主机/路径(双重编码、大小写、用户信息段
user:pass@host)先归一化再做 allowlist 判断
触发 tracer 的条件
- URL 由多字段拼接(schema + host + path + query)
- 存在多层函数调用或编码/解码/替换
- 安全判断依赖字符串规范化(必须追踪真实最终 URL)
报告输出
{output_path}/vuln_audit/ssrf_{timestamp}.md
漏洞条目模板(强制)
与 php-sql-audit 同结构,但在数据流链里必须覆盖:
- 最终用于发起请求的 URL/Host/Port 变量来源与拼接过程
- 协议选择与内网拦截判断的分支证据
证据引用(强制:来自 php-route-tracer)
每条 SSRF 疑似漏洞必须逐项引用 trace 输出中 ## 9) Sink Evidence Type Checklist 的 SSRF 行对应证据要点(禁止只写“可能”;允许状态为待验证,但证据引用必须存在):
EVID_SSRF_URL_NORMALIZATION:URL 归一化步骤(对应 SSRF 行中的证据点)EVID_SSRF_FINAL_URL_HOST_PORT:发起请求前的最终 URL/Host/Port(对应 SSRF 行中的证据点)EVID_SSRF_FINAL_REDIRECT_URL:若存在重定向/跟随跳转:最终重定向后地址证据(对应 SSRF 行中的证据点)EVID_SSRF_DNSIP_AND_INNER_BLOCK:DNS/IP 解析与内网拦截判定证据(对应 SSRF 行中的证据点)
tracer 证据缺失处理(强制)
- 若在 trace 中找不到上述 1~4 任一关键证据点:该条漏洞状态只能标记为
⚠️待验证,不得给出✅已确认可利用。
PoC(强制)
- 必须给出可执行请求(HTTP 代码块)
- PoC URL 必须使用真实路由并替换为真实可控字段名
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