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-2025-22352 — PoC de CVE-2025-22352 | Kitploit
Herramientas/GitHubGitHub/dottak/cve-2025-22352
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebPruebas de Penetración
GitHubdottak/cve-2025-22352

CVE-2025-22352

PoC de CVE-2025-22352

Ver Repositorio
21hace 1 añoAú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

1️⃣ Tipo de componente

Plugin de WordPress

2️⃣ Detalles del componente

Nombre del componente ELEX WooCommerce Advanced Bulk Edit Products, Prices & Attributes

Versión vulnerable <= 1.4.8

Slug del componente elex-bulk-edit-products-prices-attributes-for-woocommerce-basic

Enlace del componente https://wordpress.org/plugins/elex-bulk-edit-products-prices-attributes-for-woocommerce-basic/

3️⃣ OWASP 2017: TOP 10

Clase de vulnerabilidad A3: Injection

Tipo de vulnerabilidad SQL Injection (Blind SQL Injection)

4️⃣ Requisito previo

Gerente de tienda o Administrador

5️⃣ Detalles de la vulnerabilidad

👉 Descripción breve

El plugin ELEX WooCommerce Advanced Bulk Edit Products, Prices & Attributes es un plugin que permite la edición masiva de productos.

Al editar productos de forma masiva con este plugin, los objetivos se seleccionan mediante filtros y, durante este proceso, se produce una vulnerabilidad de inyección SQL cuando algunos datos transmitidos en las peticiones de filtrado de productos se insertan directamente en las consultas SQL.

Sin embargo, los resultados de las consultas SQL no pueden verificarse directamente, por lo que la vulnerabilidad se manifiesta como un método de inyección SQL ciega (Blind SQL Injection) en el que los datos se extraen determinando si los resultados de la consulta son verdaderos o falsos.

👉 Cómo reproducir (PoC)

  1. Ve a 'Bulk Edit Products' ('/wp-admin/admin.php?page=eh-bulk-edit-product-attr') desde el menú WooCommerce del panel de administración.
  2. Selecciona '==' en la etiqueta select de Product Regular Price entre los elementos de filtrado de productos.
  3. Introduce '1 OR 1=1' en el campo de texto (excluyendo las comillas simples (')).
  4. Haz clic en el botón 'Preview Filtered Products' en la parte inferior y se mostrarán todos los productos.
  5. Por otro lado, si introduces '1 OR 1=2' en el mismo campo, no se mostrará ningún producto.
  6. De esta forma, puedes comprobar que los datos de respuesta difieren según si la condición de la consulta SQL es verdadera o falsa.

👉 Información adicional (opcional)

[Causa raíz de la vulnerabilidad]

Al ejecutar la función ('Preview Filtered Products') solicitada en la descripción del PoC anterior, se genera el siguiente paquete.

image

Cuando se solicita este paquete, se llama a la función elex_bep_filter_products del archivo /wp-content/plugins/elex-bulk-edit-products-prices-attributes-for-woocommerce-basic/includes/elex-ajax-apifunctions.php.

El valor desired_price que contiene el payload de inyección SQL de los datos de la petición se ejecuta como una consulta SQL mediante la siguiente secuencia.

  1. El valor desired_price que contiene el payload de inyección SQL se pasa directamente a la cláusula de condición de la consulta y se asigna a la variable $price_query.

    product_title_text, range también se pasan directamente a la consulta, pero como en el PoC pasamos el payload de inyección SQL a desired_price, aquí solo explicaremos desired_price.

    root@kitploit:~
    // elex-ajax-apifunctions.php at line 1280
    $price_query = " AND meta_key='_regular_price' AND meta_value {$filter_range} {$data_to_filter['desired_price']} ";
    

    image

  2. Después, la variable $price_query se añade a la variable $sql (línea 1365, #1), y la variable $sql junto con la cadena AND y la variable inicializan la variable (línea 1379, #2)

image

Por lo tanto, el parámetro de petición desired_price que contiene el payload de inyección SQL se incluye en $main_query de la sentencia $wpdb->prepare( '%1s', $main_query ). En este punto, dado que el especificador de formato %1s pasa el valor de $main_query tal cual, el payload de inyección SQL se inserta en la consulta sin escaparse, lo que da lugar a una vulnerabilidad de inyección SQL.

[Implementación y ejecución del código PoC]

⚠️ El código PoC está implementado para obtener el nombre de la base de datos explotando la vulnerabilidad de inyección SQL ciega mediante una cuenta de gerente de producto.

  1. Abre el código PoC en un editor e introduce la dirección del sitio WordPress y las credenciales de la cuenta de gerente de producto.

image

  1. A continuación, ejecuta el siguiente comando para lanzar el código PoC.

    Módulos necesarios requests

    root@kitploit:~
    python poc.py
    

    image

6️⃣ Demo del exploit

video

7️⃣ Referencias

  • https://nvd.nist.gov/vuln/detail/CVE-2025-22352
Descargar herramienta
$product_type_condition
$main_query

La variable $sql se inicializa en la línea 1257 de elex-ajax-apifunctions.php.

image

  • Finalmente, la variable $main_query se pasa como argumento a la función prepare como se muestra a continuación para ejecutar una consulta a la base de datos.