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-2024-51482-ZoneMinder-v1.37.-1.37.64-SQL-Injection-POC — Exploit POC pour injection SQL basée sur le temps dans ZoneMinder (CVE-2024-51482) | Kitploit
Outils/GitHubGitHub/ravi-lk/cve-2024-51482-zoneminder-v1.37.-1.37.64-sql-injection-poc
Cassage de Mots de PasseAnalyse des VulnérabilitésExploitationExploitation d'Applications WebCTFTests d'IntrusionApprentissage et Éducation
GitHubravi-lk/cve-2024-51482-zoneminder-v1.37.-1.37.64-sql-injection-poc

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

CVE-2024-51482-ZoneMinder-v1.37.-1.37.64-SQL-Injection-POC

Exploit POC pour injection SQL basée sur le temps dans ZoneMinder (CVE-2024-51482)

Voir le dépôt
1il y a 6 moisPas encore vérifié

ZoneMinder Injection SQL basée sur le temps (CVE-2024-51482)

📌 Aperçu de la vulnérabilité

  • CVE ID: CVE-2024-51482
  • Advisory: GHSA-qm8h-3xvf-m7j3
  • Versions concernées : ZoneMinder 1.37.* jusqu'à (et y compris) 1.37.64
  • Version corrigée : 1.37.65

📖 Description

Ce dépôt contient un exploit de preuve de concept (PoC) haute performance et parallélisé (Exploit.py) pour une vulnérabilité d'injection SQL aveugle (Blind SQL Injection) trouvée dans les versions de ZoneMinder 1.37.* jusqu'à 1.37.64.

Cause racine et impact de la vulnérabilité

Selon Avis de sécurité GitHub GHSA-qm8h-3xvf-m7j3, la vulnérabilité provient de web/ajax/event.php lors du traitement de l'action removetag. Le paramètre tid (TagId) est lu depuis la requête et concaténé de manière non sécurisée directement dans une instruction SQL :

root@kitploit:~
$tagId = $_REQUEST['tid']; 
// ...
$sql = "SELECT * FROM Events_Tags WHERE TagId = $tagId";
$rowCount = dbNumRows($sql);

Parce que $tagId n'est pas paramétré avant d'être passé à dbNumRows(), un attaquant authentifié peut injecter des commandes SQL arbitraires en utilisant des techniques d'injection SQL booléenne ou basée sur le temps (le PoC présenté ici utilise SLEEP()).

Cela permet un contrôle total des bases de données SQL, entraînant une perte de confidentialité et d'intégrité des données, et potentiellement un déni de service (DoS) via des commandes de sommeil persistantes.

Atténuation

Depuis la version 1.37.65, les requêtes SQL ont été correctement paramétrées. Le bloc vulnérable a été corrigé pour construire une requête sécurisée :

root@kitploit:~
$sql = "SELECT * FROM Events_Tags WHERE TagId = ?"; 
$rowCount = dbNumRows($sql, $tagId);

Script d'exploitation

Le script v2.0 FAST EXPLOIT accélère considérablement l'extraction de données jusqu'à 5x en utilisant le multi-threading, une recherche optimisée de fréquence de caractères et un calibrage dynamique du seuil pour extraire de manière agressive les identifiants utilisateur (Nom d'utilisateur:Mot de passe) de la table zm.Users.

🚀 Détails de l'exploit (Exploit.py v2.0 FAST EXPLOIT)

Fonctionnalités

  • Extraction parallèle : Utilise un ThreadPoolExecutor (5 workers par défaut) pour extraire plusieurs caractères simultanément, réduisant considérablement le temps d'extraction global par rapport à l'injection SQL aveugle séquentielle traditionnelle.
  • Recherche optimisée par fréquence : Vérifie d'abord les caractères de mot de passe et les caractères anglais les plus courants statistiquement avant de recourir à une recherche binaire, minimisant le nombre moyen de requêtes par caractère.
  • Détection exponentielle de la longueur : Utilise une recherche rapide par pas exponentiel suivie d'une recherche binaire pour déterminer la longueur exacte de la chaîne cible avant le début de l'extraction parallèle.
  • Calibrage dynamique du seuil : Calibre automatiquement le temps de réponse de base (seuil) au démarrage pour différencier avec précision le décalage réseau des délais d'exécution SQL légitimes.
  • Extraction sélective : Prend en charge l'extraction des identifiants pour un nom d'utilisateur spécifique ou l'extraction séquentielle de toute la table zm.Users.

Point d'accès et paramètres vulnérables

  • URL : par défaut http://<target>/zm/index.php
  • Paramètres : view=request&request=event&action=removetag
  • Paramètre vulnérable : tid

🛠️ Analyse d'utilisation

root@kitploit:~
python3 Exploit.py

Lors de l'exécution, le script fonctionne en mode interactif et demande ce qui suit :

  1. URL cible : Le chemin vers le fichier index.php de ZoneMinder (par exemple, http://zoneminder.local/zm/index.php).
  2. Valeur du cookie ZMSESSID : Cet exploit nécessite une authentification. Fournissez un cookie ZMSESSID valide représentant une session active.
  3. Nom d'utilisateur cible (optionnel) : Entrez un utilisateur spécifique dont extraire les identifiants, ou laissez vide pour détecter automatiquement et extraire toute la table zm.Users.

Un fichier nommé extracted_data.txt est automatiquement créé avec les identifiants extraits (au format Nom d'utilisateur:Mot de passe). Le script affiche également des statistiques d'exécution en temps réel, y compris le temps écoulé total et le nombre total de requêtes HTTP envoyées.

🔗 Références

  • Avis de sécurité GitHub GHSA-qm8h-3xvf-m7j3
  • Entrée NVD – CVE-2024-51482
  • Site officiel de ZoneMinder

Avertissement : Ce script d'exploitation est strictement destiné à des fins éducatives et à des tests de pénétration autorisés. N'utilisez pas cet outil contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas l'autorisation explicite de tester.

Télécharger l’outil