Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2024-51482-ZoneMinder-v1.37.-1.37.64-SQL-Injection-POC — ZoneMinder Time-Based SQL Injection (CVE-2024-51482) Exploit POC | Kitploit
Strumenti/GitHubGitHub/ravi-lk/cve-2024-51482-zoneminder-v1.37.-1.37.64-sql-injection-poc
Password CrackingVulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingLearning & Education
GitHubravi-lk/cve-2024-51482-zoneminder-v1.37.-1.37.64-sql-injection-poc

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

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

ZoneMinder Time-Based SQL Injection (CVE-2024-51482) Exploit POC

Vedi Repository
5 mesi faNon ancora revisionato

ZoneMinder Time-Based SQL Injection (CVE-2024-51482)

📌 Panoramica della vulnerabilità

  • CVE ID: CVE-2024-51482
  • Avviso di sicurezza: GHSA-qm8h-3xvf-m7j3
  • Versioni interessate: ZoneMinder 1.37.* fino alla 1.37.64 inclusa
  • Versione corretta: 1.37.65

📖 Descrizione

Questo repository contiene un exploit proof-of-concept (PoC) ad alte prestazioni e parallelizzato (Exploit.py) per una vulnerabilità di blind SQL injection trovata nelle versioni di ZoneMinder 1.37.* fino alla 1.37.64.

Causa principale della vulnerabilità e impatto

Secondo GHSA-qm8h-3xvf-m7j3, la vulnerabilità ha origine in web/ajax/event.php quando viene gestita l'azione removetag. Il parametro tid (TagId) viene letto dalla richiesta e concatenato in modo non sicuro direttamente in un'istruzione SQL:

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

Poiché $tagId non viene parametrizzato prima di essere passato a dbNumRows(), un attaccante autenticato può iniettare comandi SQL arbitrari utilizzando tecniche di SQL injection basate su boolean o basate sul tempo (la PoC presentata qui sfrutta SLEEP()).

Ciò consente il controllo totale dei database SQL, portando a una perdita di riservatezza e integrità dei dati e, potenzialmente, a un Denial of Service (DoS) tramite comandi sleep persistenti.

Mitigazione

A partire dalla versione 1.37.65, le query SQL sono state correttamente parametrizzate. Il blocco vulnerabile è stato corretto per costruire una query sicura:

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

Script Exploit

Lo script v2.0 FAST EXPLOIT accelera notevolmente l'estrazione dei dati, fino a 5 volte, utilizzando il multi-threading, una ricerca ottimizzata della frequenza dei caratteri e una calibrazione dinamica della soglia per estrarre in modo aggressivo le credenziali utente (Username:Password) dalla tabella del database zm.Users.

🚀 Dettagli dell'Exploit (Exploit.py v2.0 FAST EXPLOIT)

Caratteristiche

  • Estrazione parallela: utilizza un ThreadPoolExecutor (5 worker predefiniti) per estrarre più caratteri contemporaneamente, riducendo drasticamente il tempo complessivo di estrazione rispetto alla tradizionale blind SQLi sequenziale.
  • Ricerca ottimizzata per frequenza: controlla prima i caratteri statisticamente più comuni nelle password e in lingua inglese, prima di ripiegare sulla ricerca binaria, riducendo al minimo il numero medio di richieste per carattere.
  • Rilevamento esponenziale della lunghezza: utilizza una rapida ricerca esponenziale a passi seguita da una ricerca binaria per determinare la lunghezza esatta della stringa target prima che inizi l'estrazione parallela.
  • Calibrazione dinamica della soglia: calibra automaticamente il tempo di risposta di base (soglia) all'avvio per distinguere con precisione tra latenza di rete e ritardi legittimi dell'esecuzione SQL.
  • Dump selettivo: supporta l'estrazione delle credenziali per un nome utente specifico o il dump sequenziale dell'intera tabella zm.Users.

Endpoint e parametri vulnerabili

  • URL: di default http://<target>/zm/index.php
  • Parametri: view=request&request=event&action=removetag
  • Parametro vulnerabile: tid

🛠️ Analisi dell'utilizzo

root@kitploit:~
python3 Exploit.py

Una volta eseguito, lo script funziona in modalità interattiva e richiede quanto segue:

  1. URL obiettivo: il percorso del file index.php di ZoneMinder (ad es., http://zoneminder.local/zm/index.php).
  2. Valore del cookie ZMSESSID: questo exploit richiede l'autenticazione. Fornisci un cookie ZMSESSID valido che rappresenti una sessione attiva.
  3. Nome utente obiettivo (opzionale): inserisci un utente specifico di cui estrarre le credenziali, oppure lascia il campo vuoto per rilevare automaticamente ed eseguire il dump dell'intera tabella zm.Users.

Un file chiamato extracted_data.txt viene creato automaticamente con le credenziali estratte (nel formato Username:Password). Lo script mostra anche statistiche di esecuzione in tempo reale, tra cui il tempo totale trascorso e il numero totale di richieste HTTP inviate.

🔗 Riferimenti

  • GitHub Security Advisory GHSA-qm8h-3xvf-m7j3
  • Voce NVD – CVE-2024-51482
  • Sito ufficiale di ZoneMinder

Disclaimer: Questo script exploit è inteso strettamente a scopo educativo e per test di penetrazione autorizzati. Non utilizzare questo strumento contro sistemi di cui non sei proprietario o per cui non possiedi un'autorizzazione esplicita a testare.

Scarica lo strumento