
CLI que comprueba la versión de PHP de un sitio web o un binario PHP local frente a los límites de parches integrados para determinar el estado de vulnerabilidad de php2shell, con salida JSON y códigos de salida.
Comprueba si un sitio web o un binario PHP local es vulnerable a php2shell.
Para instalar ambas habilidades, pide a Codex:
$skill-installer install both skills from https://github.com/openai/php2shell-checker
Usa phpcheck-server cuando tengas acceso al servidor, o phpcheck-url cuando solo tengas una URL:
$phpcheck-url check https://example.com
$phpcheck-server check the PHP version serving my site
Comprobar un sitio web:
node phpcheck.js "https://example.com"
Comprobar el PHP local de la CLI
node phpcheck.js --local
| Resultado | Código de salida | Significado |
|---|---|---|
OK | 0 | Versión de parche estable de PHP por encima del límite embebido para una rama principal/secundaria listada. |
VULNERABLE | 1 | Versión de PHP igual o inferior al límite embebido para esa rama. |
UNKNOWN | 3 | Sin versión de PHP ni respuesta, una versión/rama no reconocida, o una compilación preliminar más reciente. |
Usa --json para obtener una salida legible por máquina (patch_status es ok, vulnerable o unknown). Los argumentos no válidos terminan con el código 2.
node --test phpcheck.test.js
Las pruebas ejecutan la CLI contra servidores HTTP locales y un ejecutable PHP simulado. No se requiere una instalación de PHP ni un sitio web externo.
El comprobador solo evalúa las versiones expuestas en las cabeceras de respuesta HTTP o mediante php -v. Lee X-Powered-By y Server, envía HEAD y recurre a GET solo cuando HEAD devuelve 405 o 501. No sigue redirecciones ni inspecciona los cuerpos de las respuestas. Las cabeceras de PHP ausentes u ocultas devuelven UNKNOWN.
OK es una comparación de versiones basada en la suposición de que los parches estables posteriores en cada rama listada contienen la corrección. No verifica de forma independiente una corrección de seguridad. Comprueba las versiones con la versión de seguridad oficial de PHP. Las cabeceras pueden estar ocultas o modificadas, y los backports de las distribuciones pueden no cambiar la versión upstream. ¡UNKNOWN no significa que el objetivo esté parcheado!
OpenAI no acepta contribuciones de código externas a este proyecto. Los informes de errores y los comentarios que no sean código son bienvenidos a través de los issues de GitHub. Consulta CONTRIBUTING.md.
Este proyecto está licenciado bajo la Apache License 2.0.