Comprueba sitios públicos, revisa configuraciones y registros locales o encuentra herramientas abiertas. Cada resultado indica sus pruebas y límites.

01 / URL

Comprueba tu sitio

Introduce tu propio sitio público. Revisamos una página y hasta dos redirecciones buscando cabeceras PHP e indicios de plataforma, sin intentar explotar vulnerabilidades.

Comprobación en línea opcional: la dirección se envía a nuestro servicio Cloudflare para DNS y peticiones GET normales. Se eliminan parámetros y fragmentos. Versiones, configuración y registros permanecen en el navegador.

PHP / ?

¿No sabes qué PHP utilizas?

WordPress: Herramientas > Salud del sitio > Información > Servidor. En el panel elige el dominio y su controlador PHP, no el valor predeterminado. Con SSH compara php -v con FPM/Apache o el contenedor que sirve ese dominio. Sitios, tareas CLI y réplicas pueden diferir. No publiques phpinfo.

02 / LOG

Revisar señales en registros

Pega un extracto o elige un archivo de texto. Mostramos recuentos y líneas de errores de memoria, caídas, errores HTTP y PHPSESSID inusuales. Las coincidencias no prueban una intrusión; su ausencia no la descarta.

Límites locales: configuración 100 KB / 2.000 líneas; registros 2 MB / 20.000 líneas. Nada se sube. Resultados con ajustes reconocidos o recuentos y líneas, nunca registros originales ni cookies. Borra al terminar.

¿Intento o intrusión exitosa? →

03 / PHP INI

Revisar configuración PHP

Pega ajustes de php.ini o del pool FPM. Solo analizamos texto: no vemos herencia ni cambios por petición y no demostramos qué está activo. Estas medidas nunca sustituyen el parche.

Límites locales: configuración 100 KB / 2.000 líneas; registros 2 MB / 20.000 líneas. Nada se sube. Resultados con ajustes reconocidos o recuentos y líneas, nunca registros originales ni cookies. Borra al terminar.

Límites de memoria y reciclado →

Directorio de herramientas GitHub

Apache-2.0

Comprobador PHP OpenAI

Apache-2.0. Ayuda Node.js para inventario local o cabeceras públicas, con JSON. Lee README antes de usarlo en activos autorizados. Cabeceras ocultas, backports y diferencias CLI/Web limitan conclusiones. No certifica imposibilidad de explotación.

openai/php2shell-checker ↗
BSD-3-Clause

Reglas Corelight Zeek / Suricata

BSD-3-Clause. Reglas defensivas; Zeek 7+ correlaciona peticiones/sesiones e inventaría versiones por separado. Instalar Zeek no carga Suricata. Valida configuración, visibilidad TLS y falsos positivos. notice_body_sample_bytes=0 evita muestras sensibles.

corelight/php2shell-detect ↗
EUPL-1.2

Información NCSC-NL

EUPL-1.2. Guía de respuesta e inventario mantenidos para responsables y parches de proveedores. No es escáner de flotas y puede faltar software. Conserva tus propias pruebas de paquetes y despliegue.

NCSC-NL/php2shell ↗
Apache-2.0

Trivy para imágenes y SBOM

Apache-2.0. Inventario y análisis general de imágenes/paquetes para PHP integrado y reconstrucciones. Depende de base, identificación y datos del proveedor. Un informe limpio no prueba ambos parches PHP2Shell.

aquasecurity/trivy ↗
MIT

Composer audit

MIT. Revisa avisos de dependencias de aplicación gestionadas por Composer. El intérprete PHP no es una biblioteca Composer. Un audit limpio no actualiza PHP, examina el host ni descarta intrusión.

composer/composer ↗
MIT

Ejemplos Apache Syhunt

MIT. Límites de petición y bloqueo multipart comunitarios. Cubren rutas parciales y pueden romper cargas; prueba antes. php_value Apache no sirve sin cambios en CGI/FastCGI. Solo controles temporales revisados, nunca protección completa.

syhunt/php2shell-protection ↗

¿Un escáner gratis demuestra un hackeo?

No de forma concluyente. Cabeceras y patrones aportan pistas sin ver runtime completo, historial ausente ni filtraciones de memoria. Inventaría, conserva y correlaciona. Ante cuentas, procesos o filtraciones inexplicados, aísla y contacta al proveedor o equipo de respuesta.

Pide pruebas al proveedor

Mensaje para tu proveedor de hosting
Confirmen los parches de CVE-2026-109618 Y CVE-2026-109619 en el runtime Web de mi dominio. Faciliten revisión completa, aviso o changelog y confirmación de sustitución o reinicio de todos los workers FPM/Apache, réplicas y procesos persistentes. ¿Pueden revisar los registros de acceso, PHP y procesos conservados?

Fuentes primarias y lecturas adicionales

PHP security teamLeer el original ↗CVE-2026-109618Leer el original ↗CVE-2026-109619Leer el original ↗

Investigación y guías prácticas

>_

Herramientas PHP2Shell

Comprueba sitios públicos, revisa configuraciones y registros locales o encuentra herramientas abiertas. Cada resultado indica sus pruebas y límites.

01

PHP2Shell en lenguaje sencillo

PHP es el motor de WordPress, Laravel y los plugins. Actualizar un plugin no actualiza PHP. Dos fallos de memoria pueden convertir la limpieza anómala de una petición en filtración o ejecución de código. El control público solo aporta indicios; el proveedor debe confirmar el runtime Web y su parche.

02

¿Intento o intrusión exitosa?

Multipart extraño o una alerta WAF puede indicar un intento. OOM, SIGSEGV/SIGABRT y picos HTTP 500 también tienen causas normales. Procesos hijos PHP, conexiones, archivos o cuentas inesperados requieren investigación urgente. Una filtración de memoria puede no dejar webshell ni archivos; un análisis limpio no la descarta.

03

Conserva pruebas antes de cambiar

Anota descubrimiento, dominio, instancia, runtime, síntomas y último estado fiable. Exporta registros originales con zona horaria, auditoría cloud e instantáneas autorizadas disponibles. Restringe copias y registra hashes. No envíes cookies, tokens ni datos de clientes a escáneres públicos. No borres logs ni archivos sospechosos antes de conservarlos.

04

Lee Wiz y Calif con precisión

La investigación explica errores que sobreviven a una petición. CVE-2026-109618 demuestra RCE mod_php; la susceptibilidad FPM es por análisis de código, sin exploit FPM completo para ese CVE. CVE-2026-109619 confirma aparte una ruta FPM de upload-progress dependiente de la aplicación. Consulta cada GHSA para distinguir pruebas por SAPI.

05

Cloudflare: también importa la respuesta

Cloudflare describe detección de transacción completa, combinando petición y respuesta del origen y bloqueando respuestas sospechosas antes de filtrar datos. Es útil sin shell. El despliegue histórico no garantiza tu cobertura: confirma reglas, ruta, exclusiones y eventos. Origen directo y hosts sin proxy siguen necesitando parche.