vimmwy/CVE-2025-49132
GitHub: vimmwy/CVE-2025-49132
针对 Pterodactyl 面板 CVE-2025-49132 未授权文件读取漏洞的 Python PoC 脚本,可提取目标面板的数据库凭据。
Stars: 1 | Forks: 0
# CVE-2025-49132
## Pterodactyl 是一个免费、开源的游戏服务器管理面板。在 1.11.11 版本之前,通过使用带 locale 和 namespace 查询参数的 /locales/locale.json 接口,恶意攻击者可以在未经身份验证的情况下执行任意代码。凭借执行任意代码的能力,攻击者可以借此获取面板服务器的访问权限、从面板的 config 中读取凭据、从数据库中提取敏感信息、访问由该面板管理的服务器文件等。此问题已在 1.11.11 版本中得到修复。该漏洞没有任何软件层面的变通解决方案,但使用外部 Web Application Firewall (WAF) 可以帮助缓解此攻击。
## 漏洞原理
攻击者向 `/locales/locale.json` 发送 GET 请求,如果响应返回了一个 JSON 且 URL 中不包含 `hash=` 参数,那么它就存在 CVE-2025-49132 漏洞。
要利用此漏洞,你必须同时使用 `locale=` 和 `namespace=` 参数来读取 __仅限 PHP 文件__,你将收到一个 JSON 响应,其中包含你所选 PHP 文件中存储的变量。
例如:`/locales/locale.json?locale=../../../pterodactyl&namespace=config/database`
要查找更多感兴趣的 PHP 文件进行读取,你可以查看官方的 Pterodactyl 仓库 ^^
## 如何使用此脚本
使用以下命令获取数据库凭据:`python3 CVE-2025-49132_PoC.py.py `
## 如何利用 CVE-2025-49132 以管理员身份获取 Pterodactyl 面板的访问权限
1. 获取数据库凭据
2. 找到一种方法,利用你找到的凭据与他们的数据库建立连接(3306 端口开放、本地 phpmyadmin,或直接访问 phpmyadmin.co)
3. 如果你成功获取了数据库的访问权限,恭喜!你只需在 `users` 表中为自己创建一个 Pterodactyl 账户即可
4. 使用你创建的用户连接到面板
5. 现在你已经以管理员身份连接到了面板,并拥有对所有内容的访问权限 :)
此时,你应该具备基本的渗透测试知识,知道如何获取一个 reverse shell
标签:Homebrew安装, PoC, StruQ, 暴力破解, 网络安全审计, 路径遍历, 逆向工具