一个 GitHub 项目把 PHP 学习与 CTF 备赛所需的高频资料塞进了一份单页 HTML:整本 PHP 官方中文手册的索引、196 条来自真实题目的 CTF 思路、990 段可直接复制的 payload,再配上一个工具箱,共同构成 11,930 条可检索条目。该项目名为 php-ctf-handbook,托管于 github.com/writerosee/php-ctf-handbook,双击 HTML 文件即可离线打开。
单文件 13 MB:11,930 条记录为何值得离线保存
作者最初的动机来自做题时的现实困扰:遇到题目时常常无法当场在本地找到某个函数或某类漏洞的说明,只能临时上网查。把手册索引、实战打法和 payload 合并进一个 HTML,正是为了让 Web 新手快速建立 PHP 知识路径,同时让线下赛不再依赖外网。整个文件体积约 13 MB,可以在笔记本上直接运行,充当一份可随身携带的本地知识库。

Defender 误删文件:启发式扫描是主要原因
项目特别提醒,Windows Defender 可能将这份单页 HTML 判定为可疑程序并删除。原因在于文件中嵌入了大规模 PHP 代码片段,容易命中杀毒软件的启发式检测规则。如果文件无故消失,可以先把该文件加入排除项,再恢复文件即可正常使用。
搜索深入 payload 内部:与 Ctrl+F 网页的本质区别
该项目与浏览器自带查找的最大不同,在于检索范围延伸到了 payload 正文。作者以 base64 为例说明:搜索时会命中某段利用代码内部出现的 base64 字样;换成同样被反复提及的示例关键词,也会命中 payload 中的对应内容。它覆盖的不只是页面标题与描述,而是把可复制的代码段囊括进来。

工具还提供一组查询语法:用 k:ctf 做类型筛选,用 pl:base64 把范围限定在 payload,用 -redis 排除干扰项,用 "精确短语" 要求完全匹配。按下 Ctrl+K 会呼出命令面板,跳转到具体条目、在视图之间切换、以及导出数据都集中在那里完成。
覆盖面从伪协议到后渗透,每条给出判断—利用—payload
打法库按知识块组织,涵盖文件包含与伪协议、反序列化、SSTI 与框架、各类过滤绕过、XXE、JWT、SSRF,以及后渗透环节。每一条都统一回答三个问题:如何判定题目类型、采取什么利用思路、payload 具体长什么样。其中「如何判断」来自作者对实际题目的归纳,并非官方手册的翻译。

配套工具箱提供序列化 payload 生成、反弹 Shell、JWT 拆解、哈希识别与编码器等功能。序列化模块支持嵌套对象,并接受类型前缀(i:、d:、b:、n:、raw:);遇到 private 属性时写成「类名::属性」,长度字段按 UTF-8 字节数计算。
接入 OSV 漏洞库:联网更新、断网读缓存
项目集成了 OSV 漏洞数据。工具内置一批常用组件白名单,包括 fastjson、log4j-core、spring-beans、struts2-core 等;赛前联网拉取一次最新漏洞,本地打法库会随之补充中文写的判断方法与利用思路。没有网络时则展示上一次缓存的结果,因此现场方案不依赖持续连接。

收藏、笔记与本地修改:用 JSON 迁移数据
日常使用中,收藏、笔记、最近查看均会被记录,条目内容也能在页面内直接编辑,改动保存在浏览器本地。若想跨设备同步或留作备份,可将数据导出为 JSON,到另一台机器再导入即可恢复。
小结:project 把 PHP 手册索引、CTF 打法与 payload 检索压进单个离线 HTML,直击线下赛查资料不方便这一痛点,并在工具层补上 OSV 漏洞对照与中文利用思路。对被 Defender 误删、隐私数据维护和多机同步,文档也给出了可操作的处理方式。
