Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2024-51482-POC — Zeitbasierte SQL-Injection PoC für CVE-2024-51482 in ZoneMinder, mit reproduzierbarem Docker-Labor und automatisierter Datenextraktion. | Kitploit
Tools/GitHubGitHub/0xdaeras/cve-2024-51482-poc
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungDatenbanksicherheitLabs & Praxis
GitHub0xdaeras/cve-2024-51482-poc

CVE-2024-51482-POC

Zeitbasierte SQL-Injection PoC für CVE-2024-51482 in ZoneMinder, mit reproduzierbarem Docker-Labor und automatisierter Datenextraktion.

Repository anzeigen
711vor 4 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

ZoneMinder Authenticated Time Based SQLi POC - CVE-2024-51482

CVE-1 CVSS Python

⚠️ Nur für Bildungszwecke und autorisierte Sicherheitsforschung. Das Ausführen dieses Tools gegen Systeme, die Ihnen nicht gehören oder für die Sie keine schriftliche Genehmigung zum Testen haben, ist illegal.


Inhaltsverzeichnis

  • ZoneMinder Authenticated Time Based SQLi POC - CVE-2024-51482
    • Inhaltsverzeichnis
    • Übersicht
    • Schwachstellendetails
      • CVE-2024-51482 — Zeitbasierte Blind-SQL-Injection
      • Ursache
      • Angriffsablauf
    • Repository-Struktur
    • Anforderungen
    • Installation
      • PoC
      • Docker-Labor
    • Verwendung
      • Standardverhalten
      • Hilfebildschirm
      • Befehle
      • Ausgabeoptionen
      • Flag-Referenz
      • Vollständiges Beispiel
      • Hinweise
      • Docker-Labor
    • Beispielausgabe
    • Abhilfe
      • Gegen diese CVE
      • Gegen ähnliche Schwachstellen
    • Offenlegungszeitplan
    • Referenzen

Übersicht

Dieses Repository enthält einen Proof-of-Concept für eine zeitbasierte SQL-Injection gegen ZoneMinder.

Das Tool ermöglicht:

  • Schwachstellenüberprüfung
  • Datenbank-Enumeration
  • Ermittlung von Tabellen und Spalten
  • Vollständiges Tabellen-Dumping
  • CSV-Export

Es enthält außerdem ein vollständig reproduzierbares Docker-Labor für sicheres Testen.


Schwachstellendetails

CVE-2024-51482 — Zeitbasierte Blind-SQL-Injection

  • CVE-ID: CVE-2024-51482
  • CVSS v3.1-Score: 10.0 (Kritisch)
  • Schwachstellentyp: Zeitbasierte Blind-SQL-Injection
  • Betroffene Versionen: ZoneMinder v1.37.* <= 1.37.64
  • Angriffsvektor: Authentifizierter Endpunkt (removetag)
  • Auswirkung: Vollständige Datenbank-Offenlegung, Kompromittierung der Datenintegrität
  • Erforderliche Authentifizierung: Ja (ein Benutzer mit niedrigen Berechtigungen ist ausreichend)

Ursache

ZoneMinder ist eine kostenlose Open-Source-Software für Videoüberwachung. Die Schwachstelle entsteht durch unzureichende Eingabevalidierung im removetag-Endpunkt von ZoneMinder. Benutzereingaben werden direkt in SQL-Abfragen eingebunden, ohne ordnungsgemäße Bereinigung oder Parametrisierung, sodass Angreifer schädliche boolesche SQL-Payloads injizieren können. Der Exploit nutzt:

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

um Daten über die Antwortzeit zu ermitteln.

Vollständiger anfälliger Code-Auszug aus der GitHub Maintainer Advisory:

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));
    }

Angriffsablauf

Attacker                              ZoneMinder Web App
   │                                         │
   │  [Auth]                                 │
   │  POST /zm/index.php                     │
   │  {username, password}                   │
   │────────────────────────────────────────►│
   │◄────────────────────────────────────────│
   │  200 OK + Set-Cookie: ZMSESSID=...      │  ← authenticated session
   │                                         │
   │  [CVE-2024-51482]                       │
   │  GET /zm/index.php                      │
   │  ?view=request&request=event            │
   │  &action=removetag&tid=<payload>        │
   │────────────────────────────────────────►│
   │                               SQL boolean query executed
   │                               IF(condition, no delay, SLEEP)
   │◄────────────────────────────────────────│
   │  Delayed response (timing oracle)       │  ← condition inferred
   │                                         │
   │  Repeat requests                        │
   │  ASCII(SUBSTRING(query,pos,1))          │
   │────────────────────────────────────────►│
   │◄────────────────────────────────────────│
   │  Timing differences reveal characters   │
   │                                         │
   │  Binary search per character            │
   │────────────────────────────────────────►│
   │◄────────────────────────────────────────│
   │  Extracted data (1 char at a time)      │
   │                                         │
   │  SELECT Username, Password FROM Users   │
   │────────────────────────────────────────►│
   │◄────────────────────────────────────────│
   │  Full database disclosure               │
   │                                         │
   ✓  Complete data exfiltration via blind SQLi

Repository-Struktur

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

Anforderungen

  • Python 3.8+
  • requests
  • Docker und docker-compose (für Laborumgebung)

Installation

PoC

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

Docker-Labor

git clone https://github.com/0xDaeras/CVE-2024-51482-POC.git
cd CVE-2024-51482-POC
cp .env.example .env  # Umgebungsvariablen konfigurieren
docker compose up -d

Verwendung

Standardverhalten

Ohne Flags authentifiziert sich das Tool am Ziel, prüft die Schwachstelle und gibt bei Anfälligkeit die Spalten ID, Username, Password, Name und Email aus der Tabelle zm.Users aus (dump-users-Befehl).

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

Hilfebildschirm

python exploit.py -h

Befehle

check

Überprüft nur, ob das Ziel anfällig ist.

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

dump-users

Gibt die Spalten ID, Username, Password, Name und Email aus der Tabelle zm.Users aus. Standardbefehl, wenn keiner angegeben ist.

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

list-db

Listet alle Datenbanken auf.

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

list-tables

Listet Tabellen in einer angegebenen Datenbank auf.

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

list-columns

Listet Spalten in einer angegebenen Tabelle auf.

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