Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2024-51482-ZoneMinder-v1.37.-1.37.64-SQL-Injection-POC — ZoneMinder 基于时间的 SQL 注入(CVE-2024-51482)漏洞利用 POC | Kitploit
工具/GitHubGitHub/ravi-lk/cve-2024-51482-zoneminder-v1.37.-1.37.64-sql-injection-poc
密码破解漏洞分析漏洞利用Web应用程序漏洞利用CTF渗透测试学习与教育
GitHubravi-lk/cve-2024-51482-zoneminder-v1.37.-1.37.64-sql-injection-poc

CVE-2024-51482-ZoneMinder-v1.37.-1.37.64-SQL-Injection-POC

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

ZoneMinder 基于时间的 SQL 注入(CVE-2024-51482)漏洞利用 POC

查看仓库
16个月前尚未审核

ZoneMinder 基于时间的SQL注入漏洞 (CVE-2024-51482)

📌 漏洞概述

  • CVE ID: CVE-2024-51482
  • 安全公告: GHSA-qm8h-3xvf-m7j3
  • 受影响版本: ZoneMinder 1.37.* 至 1.37.64(含)
  • 已修复版本: 1.37.65

📖 描述

本仓库包含一个高性能、并行化的概念验证(PoC)漏洞利用脚本(Exploit.py),针对 ZoneMinder 1.37.* 至 1.37.64 版本中存在的盲 SQL 注入漏洞。

漏洞根源及影响

根据 GHSA-qm8h-3xvf-m7j3 所述,漏洞位于 web/ajax/event.php 中处理 removetag 操作时。tid(TagId)参数从请求中读取,并被不安全地直接拼接至 SQL 语句中:

root@kitploit:~
$tagId = $_REQUEST['tid']; 
// ...
$sql = "SELECT * FROM Events_Tags WHERE TagId = $tagId";
$rowCount = dbNumRows($sql);

由于 $tagId 在传递给 dbNumRows() 之前未进行参数化处理,经过身份验证的攻击者可以利用基于布尔或基于时间的 SQL 注入技术(本 PoC 利用 SLEEP() 函数)注入任意 SQL 命令。

这允许完全控制 SQL 数据库,导致数据机密性和完整性受损,并可能通过持久化的 sleep 命令引发拒绝服务(DoS)。

修复措施

从 1.37.65 版本开始,SQL 查询已正确参数化。存在漏洞的代码块已修复为构造安全查询:

root@kitploit:~
$sql = "SELECT * FROM Events_Tags WHERE TagId = ?"; 
$rowCount = dbNumRows($sql, $tagId);

漏洞利用脚本

v2.0 快速利用脚本通过多线程、优化的字符频率搜索以及动态阈值校准,将数据提取速度提升最多5倍,从而高效地从 zm.Users 数据库表中提取用户凭据(用户名:密码)。

🚀 漏洞利用详情(Exploit.py v2.0 快速利用)

功能特性

  • 并行提取: 使用 ThreadPoolExecutor(默认5个工作线程)同时提取多个字符,相比传统顺序盲 SQL 注入,大幅减少总提取时间。
  • 频率优化搜索: 优先检测最常见的统计密码和英文字符,仅在失败时回退至二分查找,从而最小化每个字符的平均请求数。
  • 指数长度检测: 首先使用快速的指数步进搜索,随后通过二分查找确定目标字符串的确切长度,然后才开始并行提取。
  • 动态阈值校准: 启动时自动校准基线响应时间(阈值),以准确区分网络延迟与合法的 SQL 执行延迟。
  • 选择性转储: 支持提取指定用户名的凭据,或顺序转储整个 zm.Users 表。

漏洞利用端点及参数

  • URL: 默认 http://<目标>/zm/index.php
  • 参数: view=request&request=event&action=removetag
  • 危险参数: tid

🛠️ 使用方法

root@kitploit:~
python3 Exploit.py

运行脚本后,将以交互模式执行,并提示输入以下内容:

  1. 目标URL: ZoneMinder index.php 文件的路径(例如 http://zoneminder.local/zm/index.php)。
  2. ZMSESSID Cookie值: 此利用需要身份验证。请提供一个代表有效会话的 ZMSESSID cookie。
  3. 目标用户名(可选): 输入要提取凭据的特定用户,或留空以自动检测并转储整个 zm.Users 表。

脚本会自动创建一个名为 extracted_data.txt 的文件,其中包含转储的凭据(格式为 用户名:密码)。同时,脚本还会显示实时执行统计信息,包括总耗时和总 HTTP 请求数。

🔗 参考链接

  • GitHub安全公告 GHSA-qm8h-3xvf-m7j3
  • NVD条目 – CVE-2024-51482
  • ZoneMinder官方网站

免责声明: 本漏洞利用脚本仅限用于教育目的和授权的渗透测试。请勿将此工具用于不属于你或未获得明确测试许可的系统。

下载工具