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-93300 — Prueba de concepto en Python para CVE-2026-93300, una inyección SQL no autenticada en el plugin de WordPress EventON Subscriber; identifica el manejador AJAX y extrae datos de la base de datos mediante oráculos basados en tiempo. | Kitploit
Herramientas/GitHubGitHub/datxzzz/cve-2026-93300
Escáneres de VulnerabilidadesAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebExfiltración de DatosSeguridad WebPruebas de Penetración
GitHubdatxzzz/cve-2026-93300

CVE-2026-93300

Prueba de concepto en Python para CVE-2026-93300, una inyección SQL no autenticada en el plugin de WordPress EventON Subscriber; identifica el manejador AJAX y extrae datos de la base de datos mediante oráculos basados en tiempo.

Ver Repositorio
hace 15 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-93300 — EventON - Subscriber ≤ 1.4.5 Inyección SQL no autenticada (PoC)

Prueba de concepto en Python para CVE-2026-93300: inyección SQL no autenticada a través del parámetro email en el plugin de WordPress EventON - Subscriber (Wordfence, CVSS 7.5 Alta).

CVECVE-2026-93300
PluginEventON - Subscriber (eventon-subscriber)
Afectadostodas las versiones ≤ 1.4.5
Versión corregidaninguna publicada (a fecha de 2026-10)
VectorPOST /wp-admin/admin-ajax.php, action=evosub_new_subscriber, parámetro email
Autenticaciónninguna (no autenticada)
CWECWE-89 Inyección SQL

Aviso: https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/eventon-subscriber/eventon-subscriber-145-unauthenticated-sql-injection-via-email-parameter

Vulnerabilidad

El manejador AJAX del formulario de suscripción (evosub_new_subscriber, registrado con wp_ajax_nopriv_, accesible desde el formulario público del front-end en assets/evosub_script.js) construye una consulta SQL existente utilizando el valor email proporcionado por el usuario sin $wpdb->prepare() / escape adecuado. El valor llega a la consulta sin escapar, por lo que un atacante puede salir del literal de cadena y añadir/modificar la consulta para leer datos arbitrarios de la base de datos.

La expresión regular de email del lado del cliente en evosub_script.js es la única comprobación de formato en el navegador; no proporciona ninguna protección del lado del servidor.

Requisitos

  • Python 3.8+ (solo biblioteca estándar, sin paquetes pip)
  • Un objetivo para el que estés autorizado a realizar pruebas

Uso

# 1. Detect only (fingerprint handler, find working injection oracle)
python3 cve_2026_93300.py --url https://target.example --mode check

# 2. Dump wp_users (login / email / password hash)
python3 cve_2026_93300.py --url https://target.example --mode users --prefix wp_

# 3. Extract any scalar query result
python3 cve_2026_93300.py --url https://target.example --mode sql \
    --sql "SELECT option_value FROM wp_options WHERE option_name='admin_email'"

Opciones comunes

OpciónPredeterminadoDescripción
--modecheckcheck / users / sql
--actionevosub_new_subscriberacción AJAX a probar
--paramemailparámetro inyectado
--prefixwp_prefijo de tablas de WordPress
--sql—SELECT escalar para --mode sql
--delay2.0segundos de SLEEP() para el oráculo basado en tiempo
--timeout25tiempo de espera HTTP
--max-id15ID de usuario más alto a escanear
--proxy / --insecure / --ua—proxy HTTP / omitir verificación TLS / UA personalizado

Cómo funciona

  1. Huella digital — compara action=evosub_new_subscriber con una acción no registrada (0 / HTTP 400) para confirmar que el manejador está presente y activo.
  2. Detección, en orden de preferencia:
    • sondas de error (', ", \) → si los errores SQL se reflejan (WP_DEBUG), se usa un oráculo basado en errores (el más rápido, una sola petición por bit);
    • fuerza bruta del número de columnas UNION con SLEEP() → oráculo union-time (una evaluación por sonda, sin ralentización por fila);
    • sonda de consultas apiladas (;SELECT SLEEP(...)) → oráculo stacked-time si el driver permite múltiples sentencias;
    • plantillas de tiempo (OR/AND/paren/concat SLEEP) → oráculo template-time como alternativa.
  3. Autoprueba del oráculo — cada oráculo debe responder 1=1 → verdadero y 1=0 → falso (repetidamente) antes de que comience la extracción, lo que filtra los falsos positivos de objetivos lentos/inestables.
  4. Extracción — búsqueda binaria sobre LENGTH() y ASCII(SUBSTRING(...)) (7 peticiones por carácter).

--mode check finaliza con una extracción de comprobación de user_login@USER() para demostrar el acceso a los datos.

Notas y limitaciones

  • La detección puede crear algunas entradas poc*@example.invalid en el tipo de contenido evo-subscriber; son visibles en Events → All Subscribers y se pueden enviar a la papelera.
  • Si el manejador valida email del lado del servidor con un filtro estricto, todas las sondas se comportan de forma idéntica y la herramienta informa no vulnerable / entrada validada.
  • Los objetivos con admin-ajax.php roto (error fatal en la línea base) se informan como no saludables y se abortan.
  • Las formas de consulta que no son SELECT (contexto INSERT/UPDATE) se detectan pero pueden no tener un oráculo de tiempo funcional.
  • Mantenga --delay ≥ 1.0 en objetivos reales; los retardos muy pequeños producen falsos negativos en enlaces de alta latencia.

Guía defensiva

  • Actualice/reemplace el plugin; no se ha publicado ninguna versión corregida — desactívelo si el formulario de suscripción no es crítico para el negocio.
  • Trate email (y toda entrada de la petición) con $wpdb->prepare() / esc_sql(); valide con is_email() del lado del servidor.
  • WAF: bloquee las peticiones no autenticadas a admin-ajax.php cuyo valor de email contenga metacaracteres SQL (', ", \, --, ;, UNION).

Referencias

  • Aviso de Wordfence (enlace arriba) — crédito del descubrimiento: Austin Ginder
  • Rapid7: https://www.rapid7.com/db/vulnerabilities/cve-2026-93300/
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-93300

Descargo de responsabilidad

Solo para pruebas de seguridad autorizadas y fines educativos. El acceso no autorizado a sistemas informáticos es ilegal. Usted es responsable de cumplir con todas las leyes aplicables.

Descargar herramienta