Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2026-64638-banner-poc — Genera una página HTML de activación autoenviable que explota una inyección HTML reflejada en el inicio de sesión de WordPress (CVE-2026-64638) para mostrar un banner personalizado, para pruebas de seguridad autorizadas. | Kitploit
Herramientas/GitHubGitHub/xal6/cve-2026-64638-banner-poc
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de PenetraciónRed Teaming
GitHubxal6/cve-2026-64638-banner-poc

cve-2026-64638-banner-poc

Genera una página HTML de activación autoenviable que explota una inyección HTML reflejada en el inicio de sesión de WordPress (CVE-2026-64638) para mostrar un banner personalizado, para pruebas de seguridad autorizadas.

Ver Repositorio
hace 2 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-64638 — PoC de Banner Universal

Un generador de PoC de un solo archivo y sin dependencias para la inyección de HTML reflejada CVE-2026-64638 de WordPress en wp-login.php (diferencial entre strip_tags() y el analizador KSES). Produce una página de activación con autoenvío: cuando la víctima abre el archivo, la página envía silenciosamente por POST el payload de inyección y la víctima aterriza directamente en la página de inicio de sesión objetivo con un banner renderizado — sin interacción, sin JavaScript en el lado del objetivo.

Solo para pruebas de seguridad autorizadas. Úsalo únicamente contra sistemas que poseas o para los que tengas autorización explícita de prueba.

Versiones afectadas (verificadas empíricamente)

VersionesEstado
6.4.0 – 7.0.2Vulnerable — funciona de serie
5.8 – 6.3Condicional — requiere un plugin que pase login_errors a través de wp_kses() con style permitido
4.7 – 5.7No explotable (el nombre de usuario no se refleja)
6.4.9 / 6.5.9 / 6.6.6 / 6.7.6+ / 6.8.7 / 6.9.6 / 7.0.3+Parcheado (esc_html)

Uso

root@kitploit:~
python3 banner_poc.py \
    --out trigger.html \
    --target http://192.0.2.10/wp-login.php \
    --msg "Scheduled System Maintenance"

# subdirectorio + ruta de inicio de sesión oculta + subtítulo
python3 banner_poc.py \
    --out trigger.html \
    --target http://10.0.0.5:8080/blog/my-secret-login \
    --msg "Please sign in again" --sub "Session expired"

Aloja trigger.html en cualquier lugar. Cuando la víctima lo abre, es redirigida a la página de inicio de sesión objetivo con el banner renderizado. El salto es silencioso: sin contenido intermedio visible, el fondo coincide con la pantalla de inicio de sesión de WordPress, aterriza en ~0,5 s.

FlagDescripción
--outArchivo HTML de salida (obligatorio)
--targetURL completa de la página de inicio de sesión — incluye subdirectorios / rutas de inicio de sesión ocultas (obligatorio)
--msgTexto del banner (predeterminado: Scheduled System Maintenance)
--subLínea de subtítulo opcional

Cómo funciona

  1. wp-login.php refleja un nombre de usuario de inicio de sesión fallido en el mensaje de error. Las versiones vulnerables lo sanean con PHP strip_tags(), que deja pasar cualquier cosa donde < va seguido de un espacio en blanco.
  2. El texto reflejado se vuelve a analizar posteriormente con KSES, que lo reconstruye en HTML vivo — así que < div style="..."> llega como un elemento real.
  3. < /strong> (barra precedida por un espacio) también sobrevive a strip_tags() y se reconstruye como una etiqueta de cierre real, lo que permite que el payload cierre el <strong> de la plantilla (un elemento de formato activo de HTML5) como su primer token y mantenga un control exacto del DOM.
  4. Un div final sin cerrar, de tamaño cero y fuera de pantalla, se traga el texto final de la plantilla ("… is not registered on this site …").
  5. El banner usa estilos en línea sin class que sobreviven a safecss_filter_attr(). En 6.3+ / 6.4+ position:fixed renderiza una superposición de página completa; en 5.8–6.2 esas propiedades se eliminan y el mismo payload se degrada automáticamente a un banner rojo en el flujo.

HTML/CSS puro — no se ejecuta JavaScript en el objetivo. Las reglas WAF dirigidas a <script> o manejadores de eventos no aplican.

Aviso legal

Esta herramienta se publica para investigación defensiva y pruebas de penetración autorizadas. El autor no es responsable del mal uso.

Descargar herramienta