Machine-farmer/vicidial-cve-2024-8503-blind-sqli-poc

GitHub: Machine-farmer/vicidial-cve-2024-8503-blind-sqli-poc

针对 VICIdial 系统 CVE-2024-8503 未授权时间盲注 SQL 注入漏洞的概念验证工具,可在严格限制下验证漏洞并有限提取数据库元数据与表内容。

Stars: 0 | Forks: 0

# vicidial-cve-2024-8503-blind-sqli-poc 针对 VICIdial 的 `VERM_AJAX_functions.php` 端点 (CVE-2024-8503) 的未经身份验证的基于时间的盲注 SQL 注入 (time-based blind SQL injection) 概念验证。本项目仅用于授权安全测试、验证和教育目的。 ## 概述 CVE-2024-8503 是 VICIdial 中的一个未经身份验证的 SQL 注入漏洞,通过精心构造的 Basic Auth 用户名值,可以触达 `VERM_AJAX_functions.php` 中存在漏洞的查询逻辑。此 PoC 使用基于时间的推断来确认可利用性,并以受控的方式提取有限的元数据和表数据。 ## 功能特性 - 使用按 ASCII 二分查找的基于时间的盲注 SQLi 提取引擎 - 带有磁盘状态的可持续扫描 - 提取元数据,包括版本、数据库名、数据库用户、主机名、权限和表数量 - 限制严格的表、列和行发现 - 手动和自动提取模式 - CSV 和 JSON 导出 - 无网络活动的自检模式 ## 安全限制 本版本强制执行严格的概念验证限制: - 表数量:10 - 每表的列数:10 - 每表的行数:10 - 每单元提取长度:100 字符 - 元数据最大长度:250 字符 ## 环境要求 - Python 3.8+ - `requests` ## 安装说明 安装依赖项: ``` pip install requests ``` ## 快速开始 运行本地自检以确认配置,无需发起任何网络请求: ``` python3 CVE-2024-8503-POC.py --self-check ``` 运行基础的非交互式扫描: ``` python3 CVE-2024-8503-POC.py --url https://target.tld ``` ## 交互模式 交互模式是一个独立的工作流,用于操作员驱动的测试。当您希望手动逐步执行提取任务而不是运行单个命令时,它非常有用。 ``` python3 CVE-2024-8503-POC.py --url https://target.tld --interactive ``` 交互式菜单支持元数据提取、表和列发现、手动提取、自动提取、自定义查询以及可持续的全面扫描。 ## 命令行使用说明 当您希望在不进入交互式菜单的情况下执行特定任务时,请使用这些命令。 提取元数据: ``` python3 CVE-2024-8503-POC.py --url https://target.tld --metadata db_version database db_user ``` 列出表: ``` python3 CVE-2024-8503-POC.py --url https://target.tld --list-tables ``` 获取表的列: ``` python3 CVE-2024-8503-POC.py --url https://target.tld --get-columns call_log ``` 提取特定列: ``` python3 CVE-2024-8503-POC.py --url https://target.tld --table call_log --columns uniqueid,channel --rows 3 ``` 自动提取表数据: ``` python3 CVE-2024-8503-POC.py --url https://target.tld --auto-extract call_log ``` 全面扫描: ``` python3 CVE-2024-8503-POC.py --url https://target.tld --full-scan ``` 自定义查询(仅限 SELECT): ``` python3 CVE-2024-8503-POC.py --url https://target.tld --custom-query "SELECT DATABASE()" ``` 可选标志: - `--path` 用于更改端点路径(默认:`/VERM/VERM_AJAX_functions.php`) - `--skip-vuln-check` 用于跳过初始确认探测 - `--export` 用于保存结果(元数据/全面扫描保存为 JSON,表数据保存为 CSV) ## 可持续扫描 进度会自动保存至: ``` .vicidial_scan_state.json ``` 如果检测到之前的扫描,脚本将提供恢复或清除状态的选项。 ## 项目说明 - 交互式工作流旨在提供与标准命令行流程不同的操作员体验。 - 该工具将提取范围限制在一个较小的、可用于演示的概念验证范围内。 - 仓库根目录下应添加相应的 `LICENSE` 文件;本 README 默认采用 MIT 许可证。 ## 法律免责声明 此工具仅用于授权安全测试和教育目的。未经授权访问计算机系统是违法行为。在测试您不拥有的任何系统之前,您必须获得明确的书面许可。作者不对因使用此工具不当造成的滥用或损害承担任何责任。 ## 许可证 本项目基于 MIT 许可证授权。详情请参阅仓库级别的 `LICENSE` 文件。 ## 更新日志 - 2026-04-29:添加了自检模式并强制执行严格的 10/10/10 限制。 ## 更新日志 ### 1.0.0 - 对表、列和行强制执行严格的 PoC 限制。 - 添加了可持续扫描和自检模式。
标签:0day漏洞, CISA项目, CVE-2024-8503, CVE漏洞, PoC, Python, SEO检索词, VICIdial, Web安全, 二分查找, 反取证, 安全测试, 安全评估, 攻击性安全, 数字取证, 数据展示, 数据提取, 无后门, 时间盲注, 暴力破解, 未授权访问, 概念验证, 盲注, 红队, 网络安全, 自动化脚本, 蓝队分析, 逆向工具, 隐私保护, 靶场工具