该仓库包含两个针对 FreePBX 中 CVE-2025-57819 的 PoC 脚本:一个用于创建新的管理员用户(poc_admin.py),另一个用于使用 sqlmap 提取凭据(poc_auto_get_username_pass.py)。仅限教育和授权使用。
本仓库包含两个针对 CVE-2025-57819 的 Python 概念验证 (PoC) 脚本,这是 FreePBX 中的一个关键 未认证 SQL注入漏洞。
CVE-2025-57819 影响多个版本的 FreePBX,允许 未认证的远程攻击者 通过 admin/ajax.php 中的漏洞参数执行 任意SQL查询。
该漏洞源于 module=FreePBX\modules\endpoint\ajax 端点中 不充分的输入清理,导致后端查询中可直接进行 SQL 注入。
| 版本 | 状态 |
|---|---|
| ≤ 15.0.65 | 易受攻击 |
| ≤ 16.0.88 | 易受攻击 |
| ≤ 17.0.2 | 易受攻击 |
| ≥ 15.0.66 | 已修复 |
| ≥ 16.0.89 | 已修复 |
| ≥ 17.0.3 | 已修复 |
| 文件 | 描述 |
|---|---|
poc_admin.py | 通过原始 SQL 注入创建新管理员用户 |
poc_auto_get_username_pass.py | 使用 sqlmap 在多个目标上自动批量提取凭据 |
poc_admin.py – 添加管理员用户此脚本发送一个特殊构造的 SQL 查询来创建新的 FreePBX 管理员用户。
requests 模块 (pip install requests)python3 poc_admin.py http://target/
[+] Creating admin user: orange0Mint_k9l3zq / X9sfL30wlKp1
[+] Done. Try logging in at: http://target/admin/config.php
[+] Credentials -> Username: orange0Mint_k9l3zq | Password: X9sfL30wlKp1
poc_auto_get_username_pass.py – 通过 SQLMap 导出凭据此脚本使用 sqlmap 从多个目标的易受攻击的 ampusers 表中提取用户名和密码哈希。
sqlmap,目录名为 sqlmap-master/文件中的每一行应为一个基础 URL:
http://192.168.1.100/
http://pbx.example.com:8080/
python3 poc_auto_get_username_pass.py targets.txt
log/target.txtstop.txt 文件--batch 和 --ignore-code=404 参数所有 sqlmap 的结果将保存在 log/ 目录中,以目标主机命名:
log/
├── 192.168.1.100.txt
├── pbx.example.com_8080.txt
/admin/ 接口的访问ajax.php 的访问本 PoC 仅供 教育和授权渗透测试 目的使用。
请勿在您没有所有权或明确测试许可的系统上使用此代码。
作者对因滥用此脚本造成的任何损失 不承担责任。
orange0Mint
GitHub: https://github.com/orange0Mint