
CLI-утилита, которая проверяет версию PHP веб-сайта или локальный бинарный файл PHP на соответствие встроенным пороговым значениям патчей, чтобы определить статус уязвимости php2shell, с выводом в формате JSON и кодами выхода.
Проверьте веб-сайт или локальный бинарный файл PHP на уязвимость к php2shell.
Чтобы установить оба навыка, попросите Codex:
$skill-installer install both skills from https://github.com/openai/php2shell-checker
Используйте phpcheck-server, если у вас есть доступ к серверу, или phpcheck-url, если у вас есть только 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 выше встроенного порога для указанной ветки major/minor. |
VULNERABLE | 1 | Версия PHP на уровне встроенного порога для этой ветки или ниже. |
UNKNOWN | 3 | Нет версии PHP или ответа, нераспознанная версия/ветка или более новая предрелизная сборка. |
Используйте --json для машиночитаемого вывода (patch_status принимает значения ok, vulnerable или unknown). При недопустимых аргументах выход происходит с кодом 2.
node --test phpcheck.test.js
Тесты запускают CLI против локальных HTTP-серверов и поддельного исполняемого файла PHP. Установка PHP или внешний веб-сайт не требуются.
Проверяющий оценивает только версии, раскрытые в заголовках HTTP-ответов или через
php -v. Он читает X-Powered-By и Server, отправляет HEAD и переходит к
GET только если HEAD возвращает 405 или 501. Он не следует перенаправлениям и не
проверяет тела ответов. Отсутствующие или скрытые заголовки PHP возвращают UNKNOWN.
OK — это сравнение версий, основанное на предположении, что последующие стабильные патчи в каждой указанной ветке содержат исправление.
Он не проверяет наличие исправления безопасности независимо. Сверьте версии с
официальным релизом безопасности PHP. Заголовки могут быть скрыты или изменены, а бэкпорты дистрибутивов могут
не менять версию upstream. UNKNOWN не означает, что цель пропатчена!
OpenAI не принимает внешние вклады в код этого проекта. Сообщения об ошибках и отзывы без кода приветствуются через GitHub issues. См. CONTRIBUTING.md.
Этот проект лицензирован под Apache License 2.0.