检查网站或本地 PHP 二进制文件是否存在 php2shell 漏洞。
要安装这两个技能,请向 Codex 请求:
$skill-installer install both skills from https://github.com/openai/php2shell-checker
当你拥有服务器访问权限时,使用 phpcheck-server;当你只有 URL 时,使用 phpcheck-url:
$phpcheck-url check https://example.com
$phpcheck-server check the PHP version serving my site
检查网站:
node phpcheck.js "https://example.com"
检查本地 CLI PHP
node phpcheck.js --local
| 结果 | 退出码 | 含义 |
|---|---|---|
OK | 0 | 稳定版 PHP 补丁版本高于所列主要/次要分支的内置截止版本。 |
VULNERABLE | 1 | PHP 版本等于或低于该分支的内置截止版本。 |
UNKNOWN | 3 | 没有 PHP 版本或响应、无法识别的版本/分支,或更新的预发布构建。 |
使用 --json 获取机器可读输出(patch_status 为 ok、vulnerable 或 unknown)。无效参数以退出码 2 退出。
node --test phpcheck.test.js
测试会针对本地 HTTP 服务器和伪造的 PHP 可执行文件运行 CLI。无需安装 PHP 或访问外部网站。
该检查器仅评估通过 HTTP 响应头或 php -v 暴露的版本。它读取 X-Powered-By 和 Server,发送 HEAD,仅在 HEAD 返回 405 或 501 时回退到 GET。它不跟随重定向,也不检查响应体。缺失或隐藏的 PHP 响应头会返回 UNKNOWN。
OK 是基于以下假设的版本比较:每个所列分支中后续的稳定补丁均包含修复。它并不独立验证安全修复。请对照官方 PHP 安全版本检查这些版本。响应头可能被隐藏或更改,发行版向后移植可能不会更改上游版本。UNKNOWN 并不意味着目标已修补!
OpenAI 不接受对本项目的外部代码贡献。欢迎通过 GitHub issues 提交错误报告和非代码反馈。参见 CONTRIBUTING.md。
本项目采用 Apache License 2.0 许可。