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-60137-WordPress-Core-SQL-Injection-PoC — Arnés de verificación y prueba de concepto no destructiva para CVE-2026-60137, una inyección SQL ciega en el núcleo de WordPress (`WP_Query::author__not_in`), accesible a través del parámetro `author_exclude` de la API REST. | Kitploit
Herramientas/GitHubGitHub/abdullahmaqbool22/cve-2026-60137-wordpress-core-sql-injection-poc
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónSeguridad WebPruebas de Penetración
GitHubabdullahmaqbool22/cve-2026-60137-wordpress-core-sql-injection-poc

CVE-2026-60137-WordPress-Core-SQL-Injection-PoC

Arnés de verificación y prueba de concepto no destructiva para CVE-2026-60137, una inyección SQL ciega en el núcleo de WordPress (`WP_Query::author__not_in`), accesible a través del parámetro `author_exclude` de la API REST.

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
Ver Repositorio
hace 16 díasAún no revisado

CVE-2026-60137 — PoC de inyección SQL en el núcleo de WordPress

Prueba de concepto no destructiva y banco de verificación para CVE-2026-60137, una inyección SQL ciega en el núcleo de WordPress (WP_Query::author__not_in), accesible a través del parámetro author_exclude de la API REST.

Causa raíz

WP_Query::get_posts() construye SQL concatenando como cadena la variable de consulta author__not_in dentro de:

root@kitploit:~
... AND {wpdb->posts}.post_author NOT IN ( <value> )

El valor se sanea (con absint por elemento) solo cuando llega como un array. Si se entrega una cadena escalar — el parámetro REST author_exclude se asigna internamente a author__not_in — se omite el control de saneamiento is_array() y la cadena cruda termina dentro de la cláusula NOT IN (...), lo que produce una inyección SQL (CWE-89).

Una carga útil de la forma 1) OR SLEEP(6)# produce:

root@kitploit:~
post_author NOT IN ( 1) OR SLEEP(6)# )

que se interpreta como post_author NOT IN (1) OR SLEEP(6) (el ) final lo consume el comentario #) — un oráculo ciego basado en tiempo, limpio y sin escrituras en la base de datos.

Afectado / Corregido

Notas de alcanzabilidad

  • 6.9.0+ — el sink es alcanzable sin autenticación mediante la confusión de rutas de /wp-json/batch/v1.
  • 6.8.x — el esquema REST rechaza una author_exclude escalar (HTTP 400) en la ruta de entradas estándar, por lo que el sink normalmente solo es alcanzable cuando un plugin/tema reenvía entrada no confiable, o mediante una sesión autenticada (--cookie) a través de la ruta por lotes.

Lo que hace el script

cve_2026_60137_poc.py es de solo lectura con respecto a la base de datos:

  1. Identifica el objetivo (metaetiqueta del generador, feed, readme.html, índice /wp-json/) para comprobar si la versión está en un rango afectado.
  2. Detecta la inyección con un oráculo basado en tiempo: línea base frente a un control de análisis SLEEP(0) frente a una carga útil SLEEP(n), mediante varios vectores de entrega (rutas REST directas, ?rest_route= y el endpoint por lotes), e informa un veredicto por vector.
  3. Opcionalmente extrae una fila de wp_users (user_login, user_pass, user_email) mediante tiempo de búsqueda binaria ciega, usando estrictamente SELECT/SLEEP — nunca escribe en la base de datos.

Uso

root@kitploit:~
# Solo identificación, sin enviar cargas útiles
python3 cve_2026_60137_poc.py --url https://target --safe

# Ejecutar la matriz de detección
python3 cve_2026_60137_poc.py --url https://target --sleep 6 --samples 3

# Sesión autenticada + extraer la fila 1 de wp_users
python3 cve_2026_60137_poc.py --url https://target \
    --cookie 'wordpress_logged_in_XXX=YYY' --extract --user-id 1

# Enrutar a través de Burp, omitir verificación TLS, guardar evidencia legible por máquina
python3 cve_2026_60137_poc.py --url https://target \
    --proxy http://127.0.0.1:8080 --no-verify-tls --json-out evidence.json

Opciones

Uso legal / Responsable

Esta herramienta se proporciona solo para pruebas de seguridad autorizadas — pruebas de penetración, CTFs e investigación contra sistemas que poseas o para los que tengas permiso explícito por escrito para evaluar. Ejecutarla contra sistemas sin autorización es ilegal. El autor no acepta ninguna responsabilidad por el mal uso.

Cualquier salida generada con --json-out puede contener la URL probada, la identificación de versión y evidencia de tiempos — trátala como datos confidenciales de la evaluación.

Descargar herramienta
Afectado6.8.0 – 6.8.5, 6.9.0 – 6.9.4, 7.0.0 – 7.0.1
Corregido6.8.6, 6.9.5, 7.0.2 (2026-07-17)
CVSS 3.1AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N → 5.9 (sink independiente)
Encadenadocon CVE-2026-63030 (confusión de rutas por lotes REST) → 9.8 RCE sin autenticación previa en 6.9.0 – 7.0.1
FlagPredeterminadoDescripción
--urlrequeridoURL base del objetivo
--safedesactivadoSolo identificación; no enviar cargas útiles
--sleep6Segundos de SLEEP() usados por el oráculo de detección
--samples3Muestras de tiempo por medición (se usa la mediana)
--threshold0.7Fracción de --sleep tratada como delta positivo
--extractdesactivadoExtraer una fila de wp_users mediante el oráculo ciego
--user-id1wp_users.ID a extraer
--extract-sleep2.0Segundos de SLEEP() por sonda de extracción
--limit64Máximo de caracteres por campo extraído
--only-vector—Probar solo vectores cuyo nombre contenga esta cadena
--cookie—Cookie autenticada para vectores que requieren autenticación
--proxy—Proxy HTTP(S), p. ej. http://127.0.0.1:8080 (Burp)
--timeout30Tiempo de espera de la solicitud en segundos
--no-verify-tlsdesactivadoDeshabilitar la verificación del certificado TLS
--json-out—Escribir evidencia legible por máquina en un archivo JSON