2026年10月27日,Cloudflare 公布其 PHP 夺旗挑战赛。此前一周,安全领域连续出现两类事件:八张 eMudhra 中间证书遭入侵,攻击者可能伪造服务器身份;随后 PHP 运行时曝出被命名为 php2shell 的严重漏洞。Cloudflare 表示,公司已发布客户端更新和多项缓解措施,为 WAF 增加针对这些 PHP 漏洞的规则,并推出“完整事务检测”(full transaction detection);这些能力向包括免费版在内的所有套餐开放。
挑战环境如何运行
挑战通过 HackerOne 上的 Bug Bounty 计划举行。目标环境运行未经修改的 PHP 8.5.11(标准扩展)和 Apache 2(mod_php),一个空白 index.php 位于 Cloudflare Container 中,前置 WAF 已启用上述漏洞的默认防护规则。沙箱内放置了 /flag 文件,并每隔几分钟连同内容一起重置。参与者需要绕过 WAF、利用 PHP 沙箱、读取当前 flag,再通过挑战界面完成验证。
有效报告需要满足哪些条件
- 注册 HackerOne 账号,并在参与前阅读及同意赏金条款;
- 仅使用 POST 请求,证明攻击者可以控制 PHP 代码或命令执行,并利用该执行能力恢复
/flag的当前内容; - 在沙箱重置前完成界面验证,保留完整 payload、请求顺序、相关标头、编码方式、正文字节以及原始请求和响应;
- 向 Cloudflare 提交私有报告,说明 WAF 绕过方式、已执行的代码或命令、读取 flag 的过程,并附 attempt ID、成功验证结果和 UTC 时间戳。
即使针对同一个 CVE,方法或 payload 也必须有实质差异。等价编码、更换 flag、重置 attempt ID 或仅调整外观,都不会被视为独立方案;等价提交按重复项处理,只有首个完整、可复现的报告会进入评审,最终认定由 Cloudflare 作出。仅泄露文件、取得 RCE 却未恢复并验证 flag、仅进行本地利用、重复发现已知 PHP 漏洞,或只展示 WAF 检测差异和部分攻击链,都不符合本挑战目标。
测试范围受到严格限制
授权仅限挑战主机名下由 WAF 保护的 /php/* 端点,并且只允许 POST 方法。测试者不得触及其他 Cloudflare 服务、底层基础设施、上游 PHP 项目或第三方系统,也不得实施拒绝服务、高压扫描、持久化、社工或针对其他参与者的攻击。遇到 HTTP 429 或 503 状态时应主动退避。如果活动说明与赏金条款存在冲突,以条款为准;Cloudflare 可以随时暂停或终止挑战,最新状态应以其 HackerOne 页面为准。
适合授权研究,但不能替代修补
这场 CTF 面向获得明确授权的安全研究人员,可用于检验 WAF 在完整攻击链中的拦截效果;对运行 PHP 的团队而言,它更适合作为纵深防御的一环。Cloudflare 强调,WAF 可以阻止暴露的数据流向攻击者,却无法撤销源站已经执行的动作。因此,PHP 使用者仍应跟进官方安全公告并安装相关更新。挑战入口为 php-rce.cloudflare.app,测试时应只使用虚构数据,避免提交凭据或个人信息。
资料来源:Introducing the Cloudflare PHP Capture the Flag challenge(2026-10-27)。
一起聊聊
留下你的想法,评论审核通过后展示。