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
Herramientas/GitHubGitHub/tuannq2299/cve-2021-43408
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de Penetración
GitHubtuannq2299/cve-2021-43408

CVE-2021-43408

Análisis técnico y exploit de prueba de concepto para CVE-2021-43408, una vulnerabilidad de inyección SQL en el plugin Duplicate Post de WordPress versión 1.1.9, con guía de explotación paso a paso y recomendaciones de remediación.

Ver Repositorio
6hace 4 añosAú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-2021-43408: Wordpress Plugin Duplicate Post versión 1.1.9 - Inyección SQL

I. Descripción general

1. ¿Qué es WordPress?

WordPress es un software CMS (Sistema de Gestión de Contenidos) de código abierto, un sistema de gestión de contenidos. En lugar de utilizar el lenguaje de marcado HTML, WordPress está escrito en el lenguaje de programación PHP y utiliza la base de datos MySQL. WordPress fue fundado por los programadores Matt Mullenweg y Mike Little. Actualmente, WordPress pertenece a la empresa Automattic, con sede en San Francisco, California, Estados Unidos.

2. CVE-2021-43408

El plugin Duplicate Post de Wordpress, en las versiones 1.1.9 e inferiores, presenta una vulnerabilidad de inyección SQL. Este tipo de explotación permite al atacante inyectar consultas SQL y así leer, modificar e incluso eliminar los recursos de la base de datos. Esta vulnerabilidad puede ser explotada por cualquier usuario autenticado que tenga permiso para utilizar las funciones del plugin Duplicate Post. Por defecto, solo el Administrador tiene este permiso; sin embargo, los permisos pueden modificarse, por lo que el Editor, el Autor, el Colaborador e incluso el Suscriptor también pueden utilizar este plugin. CVE-2021-43408 fue descubierta el "11/19/2021" y está evaluada con un nivel HIGH según la escala CVSS.

II. Análisis detallado

La causa principal de esta vulnerabilidad es que los datos enviados en la solicitud del usuario no se sanitizan antes de ejecutarse en la consulta SQL. Más concretamente, en el archivo post/handler.php, en la función cdn_insert_post()

 function cdp_insert_post($id, $data, $times, $areWePro, $isChild = false, $p_ids = null, $site) {

        // Get Wordpress database
        global $wpdb;

        // Create empty array for new id(s) and error(s)
        $results = array('ids' => array(), 'error' => 0, 'counter' => 0);

        // Get Counter value
        $prefix = (($site != -1) ? $wpdb->get_blog_prefix($site) : $wpdb->get_blog_prefix());
        $newestId = $wpdb->get_results("SELECT post_id FROM {$prefix}postmeta WHERE meta_key = '_cdp_origin' AND meta_value = {$id} ORDER BY post_id DESC LIMIT 1", ARRAY_A);

$id está controlado por el atacante

La variable $id se pasa a la función que contiene la consulta SQL sin ningún tipo de sanitización. Esta función se invoca a través del Ajax de Wordpress wp_ajax_cdp_action_handling. Se puede observar que el parámetro id se pasa a través de la función cdn_sanitize_array; aquí, los campos de datos de la entrada pasan por la función sanitize_text_field, que escapa cualquier comilla ' dentro de la cadena de datos.

Los campos de datos se procesan con sanitize_text_field

Sin embargo, el código tiene una vulnerabilidad al pasar los datos del campo Integer a la consulta SQL que se ejecuta (el campo id); el atacante puede aprovechar esto e insertar sentencias SQL adicionales en el valor de este campo. Por lo tanto, para controlar la consulta SQL, el atacante solo necesita evitar usar el carácter '.

III. Demostración

1. Entorno

  • OS: Windows
  • Xampp: 7.1.33
  • Wordpress: 5.0
  • Plugin Duplicate Post: 1.1.9

2. PoC

Paso 1: Inicie sesión como usuario Administrador e instale el plugin Duplicate Post versión 1.1.9. Este plugin permite a los usuarios duplicar las entradas existentes.

Paso 2: Acceda a la sección Post, seleccione una entrada, elija la acción Copy y pulse Apply.

Paso 3: Seleccione Setting: Default y pulse Copy.

Paso 4: Intercepte la solicitud HTTP. El campo de datos a tener en cuenta aquí es id; se puede ver que los datos de este campo son de tipo Integer.

Paso 5: Inserte el payload de inyección SQL, envíe la solicitud y observe que el servidor tarda 9 segundos en devolver la respuesta -> la inyección SQL se ha realizado correctamente. Payload: 1 and (select*from(select(sleep(9)))a)--

3. Código del exploit

IV. Mitigación

  • Actualice el plugin a las versiones 1.2.0 o superiores.

V. Referencias

  • https://appcheck-ng.com/security-advisory-duplicate-post-wordpress-plugin-sql-injection-vulnerability
Descargar herramienta