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

CVE-2025-22783

Prueba de concepto de CVE-2025-22783

Ver Repositorio
3hace 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

CVE-2025-22783

1️⃣ Tipo de componente

Plugin de WordPress

2️⃣ Detalles del componente

Component name Plugin SEO de Squirrly SEO

Vulnerable version <= 12.4.01

Component slug squirrly-seo

Component link https://wordpress.org/plugins/squirrly-seo/

3️⃣ OWASP 2017: TOP 10

Vulnerability class A3: Inyección

Vulnerability type Inyección SQL

4️⃣ Requisito previo

Contributor +

5️⃣ Detalles de la vulnerabilidad

👉 Descripción breve

El Plugin SEO de Squirrly SEO te permite mejorar el SEO de tu sitio web mediante una función de enlaces internos que te permite seleccionar páginas de origen y destino basadas en palabras clave específicas. Puedes gestionar las palabras clave, páginas de origen, páginas de destino y el estado de cada enlace a través de la página de gestión de enlaces internos (/wp-admin/admin.php?page=sq_focuspages&tab=innerlinks).

En las versiones 12.4.01 e inferiores del plugin Squirrly SEO, puedes buscar enlaces internos creados en la página de gestión de enlaces internos. Se produce una vulnerabilidad de Inyección SQL cuando los términos de búsqueda introducidos por los usuarios (Contributor+) se pasan directamente a las consultas de la base de datos sin validación.

Si bien los resultados de búsqueda no se muestran directamente en la página de gestión de enlaces internos, se puede extraer información de la base de datos utilizando técnicas de Inyección SQL basada en tiempo, como la función SLEEP.

👉 Cómo reproducir (PoC)

  1. Inicia sesión en el sitio objetivo con una cuenta que tenga privilegios de Contributor o superiores donde esté instalado el plugin Squirrly SEO versión 12.4.01 o inferior.

  2. Luego, cuando accedas a la URL siguiente, dado que la condición de la declaración IF '1=1' en el payload de Inyección SQL siempre es verdadera, la función SLEEP(5) se ejecutará y la página se cargará después de 5 segundos.

    root@kitploit:~
    http://localhost:8080/wp-admin/admin.php?page=sq_focuspages&tab=innerlinks&stype&squery='+AND+1%3D2)+UNION+SELECT+(IF(1=1,SLEEP(5),1)),2,3,4,5,6,7%23
    
  3. Por otro lado, si cambias la condición de la declaración IF a '1=2', la página se cargará inmediatamente porque el resultado es falso.

    root@kitploit:~
    http://localhost:8080/wp-admin/admin.php?page=sq_focuspages&tab=innerlinks&stype&squery='+AND+1%3D2)+UNION+SELECT+(IF(1=2,SLEEP(5),1)),2,3,4,5,6,7%23
    

👉 Información adicional (opcional)

[Causa raíz de la vulnerabilidad]

En la página de gestión de enlaces internos (/wp-admin/admin.php?page=sq_focuspages&tab=innerlinks) del plugin Squirrly SEO, al buscar enlaces internos, consulta la base de datos llamando a la función getSqInnerlinks en el archivo /wp-content/plugins/squirrly-seo/models/Qss.php.

image

En este punto, podemos ver que la variable $query_where se inserta directamente en la consulta SQL. Examinemos cómo se construye el valor de la variable $query_where:

  1. línea 75: La variable $search contiene el término de búsqueda ingresado durante la búsqueda de enlaces internos, y la función sanitize_text_field se utiliza para procesar los datos de entrada del usuario.
  2. línea 76: Posteriormente, la variable $search se utiliza como parte de la cláusula condicional y se almacena en la variable $query_where.
  3. línea 79 ~ línea 80: Se añaden condiciones adicionales a la variable $query_where, y se aplican filtros a través de la función apply_filters.

Por lo tanto, si bien el término de búsqueda ingresado por los usuarios durante la búsqueda de enlaces internos es procesado por la función sanitize_text_field, esta función no puede prevenir ataques de Inyección SQL. Los caracteres especiales utilizados en consultas SQL (comillas simples ('), comentarios (#), etc.) no se filtran, y cuando la variable $search que contiene el payload de Inyección SQL se pasa a la consulta de la base de datos sin el escape adecuado, se produce una vulnerabilidad de Inyección SQL.

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

⚠️ El código PoC implementado inicia sesión con una cuenta de administrador para crear una cuenta con privilegios mínimos (Contributor+) necesarios para la reproducción de la vulnerabilidad, y luego activa la vulnerabilidad utilizando esa cuenta.

  1. Abre el código PoC en un editor e ingresa la dirección del sitio WordPress y las credenciales de administrador.

image

  1. A continuación, ingresa el siguiente comando para ejecutar el código PoC.

    Required module requests

    root@kitploit:~
    python poc.py
    

    image

6️⃣ Demostración del exploit

video

7️⃣ Referencias

  • https://nvd.nist.gov/vuln/detail/CVE-2025-22783
Descargar herramienta