Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-63030 — CVE-2026-63030 - Prueba de concepto de inyección SQL por confusión de rutas en el REST Batch de WordPress | Kitploit
Herramientas/GitHubGitHub/ch4120n/cve-2026-63030
Escáneres de VulnerabilidadesExplotaciónSeguridad WebPruebas de PenetraciónAprendizaje y Educación
GitHubch4120n/cve-2026-63030

CVE-2026-63030

CVE-2026-63030 - Prueba de concepto de inyección SQL por confusión de rutas en el REST Batch de WordPress

Ver Repositorio
256hace 3 mesesAú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-63030

Inyección SQL por confusión de rutas en el procesamiento por lotes de la API REST de WordPress (CVE-2026-63030) — Prueba de concepto
Investigación, desarrollo de exploits y documentación por Ch4120N

CVE Python License Status


⚠️ Aviso legal

Este repositorio y la herramienta adjunta (exploit.py) están destinados estrictamente a fines educativos, pruebas de penetración autorizadas e investigación de seguridad.
El uso de este exploit contra objetivos sin consentimiento explícito, previo y por escrito es ilegal y viola las leyes globales contra el fraude y el abuso informático. El autor (Ch4120N) no asume absolutamente ninguna responsabilidad por el mal uso, los daños o las consecuencias legales derivadas del uso de este código. Actúe siempre dentro de los límites de la ley y obtenga la autorización adecuada.


📖 Descripción general de la vulnerabilidad: CVE-2026-63030

CVE-2026-63030 es una vulnerabilidad crítica no autenticada que afecta a la API REST de WordPress. Explota un error de confusión de rutas dentro del endpoint de procesamiento por lotes anidado (/wp-json/batch/v1 o /?rest_route=/batch/v1).

La causa raíz

Cuando WordPress procesa un lote de solicitudes de la API REST, valida cada sub-solicitud contra su esquema específico antes de la ejecución. Sin embargo, debido a una falla en la forma en que el puntero de enrutamiento interno maneja rutas deliberadamente malformadas (p. ej., ///), el esquema de validación se desincroniza del manejador de ejecución real.

La cadena de ataque

  1. Confusión de rutas e inyección SQL: Un atacante inyecta una carga útil de lote anidada. La desincronización hace que una solicitud dirigida al endpoint /wp/v2/users (que no acepta author_exclude) sea ejecutada por el manejador de /wp/v2/posts. El parámetro author_exclude sin sanitizar se pasa directamente a la cláusula author__not_in de WP_Query, lo que resulta en una inyección SQL no autenticada.
  2. Creación de administrador pre-autenticación: La inyección SQL se utiliza para leer la base de datos e identificar los IDs de las entradas oembed_cache. El exploit utiliza entonces una carga útil changeset de Customizer para envenenar la caché del menú de navegación, engañando a WordPress para que ejecute una solicitud de creación de usuario bajo el contexto de un administrador existente.
  3. Ejecución remota de código (RCE): Con una cuenta de administrador recién falsificada, la herramienta se autentica, sube un plugin de webshell PHP aleatorio y protegido por token, ejecuta comandos del sistema operativo y limpia de forma segura todos los rastros.

Versiones afectadas

  • WordPress 6.9.0 hasta 6.9.4
  • WordPress 7.0.0 hasta 7.0.1 (Nota: las versiones anteriores pueden ser vulnerables dependiendo de las configuraciones específicas de los plugins y de los backports de la API REST).

🚀 Características

  • Cero dependencias: 100 % biblioteca estándar de Python 3. No se requiere pip install.
  • Modular en un solo archivo: Todos los componentes (Cliente, SQLi, Exploit, Shell, CLI) están organizados de forma ordenada en un único script portátil (exploit.py).
  • Extracción SQL multitécnica: Recurre automáticamente a los métodos disponibles más rápidos:
    1. Basado en UNION: Extracción in-band forjando una fila WP_Post falsa (1 solicitud por valor).
    2. Basado en errores: Aprovecha los errores XPATH de EXTRACTVALUE() si WP_DEBUG_DISPLAY está habilitado.
    3. Ciego booleano/de temporización: Extracción de caracteres mediante búsqueda binaria con retardos de espera configurables.
  • Puente pre-autenticación automatizado: No necesita credenciales existentes; la herramienta crea su propia cuenta de administrador sobre la marcha.
  • Webshell efímera: Genera un slug de plugin único y un token criptográficamente seguro. El shell se niega a ejecutarse sin el token y se autodestruye después de su uso.
  • Limpieza automática: Elimina automáticamente la cuenta de administrador falsificada y el directorio del plugin webshell al salir.
  • REPL interactivo: Proporciona una pseudo-terminal que mantiene el estado del directorio de trabajo remoto (soporte de cd).

📦 Instalación y requisitos

No se requieren paquetes de terceros. Asegúrese de tener instalado Python 3.8 o superior.

# Clone the repository
git clone https://github.com/Ch4120N/CVE-2026-63030.git
cd CVE-2026-63030

# Make the script executable
chmod +x exploit.py

# Verify Python version
python3 --version
# Executing the script
python3 exploit.py

💻 Uso detallado y opciones

El exploit se divide en tres subcomandos principales: check, read y shell.

Opciones globales

Estas opciones se aplican a todos los subcomandos:

OpciónDescripciónPor defecto
urlURL base del objetivo (p. ej., http://target.com)Requerido
--rest-routeUsa /?rest_route=/batch/v1 en lugar de /wp-json/batch/v1 (para sitios con permalinks deshabilitados).False
--timeoutTiempo de espera de la solicitud HTTP en segundos.30.0
--proxyProxy HTTP/HTTPS (p. ej., http://127.0.0.1:8080).None

1. check - Detección de vulnerabilidades

Sondea el objetivo de forma segura para confirmar la presencia de los marcadores de confusión de rutas y prueba la temporización de la inyección SQL sin extraer datos.

OpciónDescripciónPor defecto
--sleepRetardo de temporización SQL (segundos) utilizado por el mecanismo de respaldo --confirm-sqli.3.0
--samplesNúmero de pares de temporización SQL (de referencia/retardada) a probar.3
--confirm-sqliEnvía una carga útil activa de confirmación de la inyección SQL (añade un ligero retardo).False

2. read - Extracción de la base de datos

Extrae datos directamente de la base de datos mediante la inyección SQL.

OpciónDescripciónPor defecto
--presetPreajustes de extracción rápida: fingerprint (versión/usuario/BD) o users (logins/hashes).fingerprint
--queryEjecuta una expresión SQL escalar personalizada (p. ej., "SELECT @@version").None
--prefixPrefijo de las tablas de la base de datos.wp_
--max-lengthMáximo de caracteres a extraer por valor.128
--techniqueTécnica de extracción: auto, union, error o blind.auto

3. shell - Ejecución remota de código

Despliega la webshell y ejecuta comandos. Si no se proporcionan credenciales, activa automáticamente el puente de creación de administrador pre-autenticación.

OpciónDescripciónPor defecto
--userNombre de usuario del administrador. (Omitir para usar el puente pre-autenticación).None
--passwordContraseña del administrador. (Omitir para usar el puente pre-autenticación).None
--cmdComando único para ejecutar en el objetivo.None
-i, --interactiveAbre un shell interactivo (REPL) después del despliegue.False

🖥️ Evidencia de ejecución y ejemplos

A continuación se muestran ejemplos reales de la herramienta en acción.

Ejemplo 1: Comprobación de vulnerabilidad

$ python3 exploit.py check http://vulnerable-wordpress.local --confirm-sqli
Descargar herramienta