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-2023-3460 — CVE-2023-3460 | Kitploit
Herramientas/GitHubGitHub/emadyay/cve-2023-3460
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAutenticación
GitHubemadyay/cve-2023-3460

CVE-2023-3460

CVE-2023-3460

Ver Repositorio
hace 3 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-2023-3460 - Acceso de administrador no autorizado para el plugin Ultimate Member POC

Puntuación CVSS: 9.1

Fecha: 07/04/2023

¿Qué es el plugin Ultimate Member?

El plugin Ultimate Member es un popular plugin de membresía para registrar usuarios; el plugin tiene más de 200 000 instalaciones activas.

Alt text

Comprobación rápida

Se descubrió una vulnerabilidad crítica en el plugin Ultimate Member el 7 de julio; el atacante podría crear una cuenta de administrador mediante una técnica de escalada de privilegios que puede llevar a hacerse con el sitio web de WordPress.

Entonces, ¿cómo funciona el exploit?

Bien, si echamos un vistazo a los Roles y Capacidades de WordPress, hay bastantes roles que un usuario puede tener: , , , , , ; entonces, ¿cómo podemos obtener privilegios de administrador? Bueno, primero veamos cómo funciona el plugin Ultimate Member: primero necesitas configurar el plugin para que funcione correctamente, así que tenemos que crear algunas páginas en la sección y luego las vinculamos en Ultimate Member > Ajustes; después podemos crear nuevos roles o simplemente usar los roles predeterminados que ofrece Ultimate Member.

Alt text

Para entonces ya deberíamos tener un plugin funcional; ahora pongámonos manos a la obra y veamos cómo funciona esto en el backend. Registré un usuario normal con el rol Subscriber y si echamos un vistazo a la tabla wp_usermeta en MySQL podemos ver que el valor de wp_capabilities se establece como un array serializado y desde ahí se define nuestro rol, que en este caso es Subscriber.

Alt text

Entonces, ¿cómo podemos cambiar el valor de wp_capabilities? Bueno, podemos pasar wp_capabilities como parámetro en la petición POST mientras nos registramos, así:

Alt text

Pero esto no termina ahí; verás, hay una función llamada is_metakey_banned que funciona comprobando algunos valores como "cap_key", "wp_capabilities", "wp_user_level", "user_activation_key", etc. El que nos interesa es wp_capabilities, pero si lo incluimos en el cuerpo de nuestra petición llegará al para impedirnos cambiar nuestro rol.

Alt text

A partir de aquí podemos intentar usar algunos tipos de decodificación diferentes, pero no funcionará; después de un tiempo de investigación y con un poco de ayuda de IA descubrí que WordPress acepta caracteres acentuados por defecto, caracteres como à, è, ì, ò, ù, À, È, Ì, Ò, Ù, así que si usamos estos caracteres en el cuerpo de nuestra petición, algo como wp_càpabilities=administrator, ¿qué pasará? Pues que no llega al punto de ruptura en la línea 182 de class-user.php y podemos omitir la función is_metakey_banned.

Alt text

Comprobando MySQL podemos ver que hemos podido cambiar el valor.

Alt text

Pero no somos administradores; de hecho, no tenemos ningún rol en absoluto.

Alt text

Evidentemente hicimos algo, pero para convertirnos en administradores necesitamos tener exactamente el mismo valor que el administrador, que se ve así: a:1:{s:13:"administrator";b:1;}; bien, ahora intentémoslo y pasemos esto directamente a nuestro parámetro.

Alt text

Comprobando MySQL de nuevo, establecimos el valor de wp_capabilities, pero esto no es lo que esperábamos.

Alt text

Tomó nuestro valor y lo convirtió en una cadena serializada, pero mirando el wp_capabilities del administrador podemos ver que es un array serializado; eso es lo que queremos. WordPress tiene su propia serialización, así que podemos usarla para pasar nuestro valor como un array y WordPress hace el resto por nosotros. Así es como se ve nuestro payload: wp_càpabilities[administrator]=1.

Alt text

Al final podemos ver que el valor de wp_capabilities ha cambiado a a:1:{s:13:"administrator";s:1:"1";}, con lo que ahora podemos iniciar sesión como administrador.

Alt text

Y ahora podemos iniciar sesión como administrador.

Alt text

Descargar herramienta
Super Admin
Administrator
Editor
Author
Contributor
Contributor
Pages
break