Cloudflare PHP 夺旗挑战赛正式启动
内容提要
Cloudflare通过HackerOne平台推出PHP夺旗挑战赛,邀请安全研究员利用CVE-2026-109618和CVE-2026-109619两个PHP漏洞(php2shell),在沙箱中绕过其WAF防护实现远程代码执行并读取/flag文件。参赛者须提交可复现的私有报告,方法或载荷需实质独特方可获奖。Cloudflare强调WAF不能替代打补丁,用户应及时更新PHP。
延伸解读
CTF 的实战检验意义
Cloudflare 将故意存在漏洞的 PHP 环境置于 WAF 之后,邀请研究员尝试绕过防护并读取 /flag。这并非单纯竞赛,而是用真实攻击路径检验 WAF 规则的有效性。文章指出,AI 让攻击者更快发现新向量,因此收集真实数据来验证防御假设、强化防护是持续过程。对读者而言,这提示 WAF 规则需要不断接受实战测试,而非一次配置即可长期放心。
奖励门槛强调方法独特性
挑战要求提交私有报告,且绕过方法或载荷必须实质独特才可能获奖。仅发现新 flag、重置环境、尝试 ID 或等价编码变化都不算独特;即使漏洞未修复,等价提交也视为重复,只有首个完整可复现的报告被考虑。这意味着参与者不能靠重复已知漏洞或表面变化获利,而需展示真正不同的 WAF 绕过链,并完整记录请求、响应和验证时间戳。
测试范围与合规边界
授权测试仅限挑战主机名的 WAF 保护 /php/* 端点,且只允许 POST 请求。直接访问底层基础设施、上游 PHP 项目、第三方系统,以及拒绝服务、高频扫描、持久化、社会工程等均不在范围内。遇到 429 或 503 应退避。文章还提醒只使用测试数据,不要发送凭据或个人信息,因为尝试元数据和请求载荷会被记录用于分析报告。
WAF 不能替代打补丁
Cloudflare 明确强调,WAF 虽能阻止响应到达攻击者,但无法撤销源站已执行的操作。若运行 PHP,应关注最新安全公告并应用相关更新。这一提醒对读者具有普遍意义:边缘防护可降低暴露风险,却不能修复软件本身漏洞。将 WAF 视为补丁的替代品会留下残余风险,及时更新 PHP 仍是根本措施。
Q&A
Cloudflare PHP CTF挑战赛的目标是什么?
参赛者需利用CVE-2026-109618和CVE-2026-109619两个PHP漏洞,在沙箱中绕过Cloudflare WAF防护,实现远程代码执行并读取/flag文件。
如何参加这个PHP夺旗挑战赛?
需注册HackerOne账户并同意Cloudflare的漏洞赏金条款,然后针对挑战主机名的WAF防护端点(仅POST /php/*)进行测试,成功后可提交私有报告。
提交漏洞报告需要包含哪些内容?
报告标题需包含“PHP CTF”,并提供端点、完整载荷、请求序列、原始请求/响应捕获、WAF绕过解释、执行代码及读取/flag的方法、尝试ID、UI验证结果和时间戳,以及方法独特性的说明。
哪些行为在挑战赛中不被允许?
禁止拒绝服务、大规模扫描、持久化、社会工程、攻击其他参与者,以及测试范围外的Cloudflare服务或第三方系统。收到429或503响应时应退避。
为什么说WAF不能替代打补丁?
WAF可以阻止攻击者获取暴露数据,但无法撤销已在源站执行的操作。运行PHP的用户应关注最新安全公告并及时应用更新。
挑战赛的沙箱环境是如何配置的?
沙箱运行原生PHP 8.5.11(含标准扩展)、Apache 2(通过mod_php)和空的index.php,置于Cloudflare容器中,并启用针对这些漏洞的默认WAF规则。沙箱每几分钟重置一次,包括/flag文件。