
A comprehensive vulnerability scanner for CVE-2025-13780, a Remote Code Execution (RCE) vulnerability in pgAdmin 4 versions ≤ 8.14.
针对 CVE-2025-13780 的全面漏洞扫描器,该漏洞是 pgAdmin 4 版本 ≤ 8.14 中的一个远程代码执行 (RCE) 漏洞。
该漏洞存在于 pgAdmin 4 的 恢复 功能中。应用程序尝试使用正则表达式阻止危险 shell 命令(以 \ 开头)。但是,此检查可以被绕过。
(^|\n)[ \t]*\\\xef\xbb\xbf 可使正则表达式匹配失败\n\r 而不是 \n# 克隆仓库
git clone https://github.com/ThemeHackers/CVE-2025-13780.git
cd CVE-2025-13780
# 安装依赖
pip install -r requirements.txt
requests - HTTP 请求库rich(可选) - 增强终端输出,带有颜色和进度条python-socketio 和 websocket-client(可选) - 攻击模式下的 WebSocket 支持# 基本扫描
python3 scanner.py http://localhost:5050
# 带身份验证
python3 scanner.py http://localhost:5050 --email [email protected] --password admin
# 详细模式
python3 scanner.py http://localhost:5050 -v
# 从文件扫描
python3 scanner.py -f targets.txt
# 多线程(默认:5 线程)
python3 scanner.py -f targets.txt --threads 10
# 导出结果为 JSON
python3 scanner.py -f targets.txt -o results.json --json
扫描器根据多个因素计算置信度分数(0-100):
对于版本 ≤ 8.14:
对于版本 > 8.14:
对于未知版本:
使用 Docker Compose 搭建一个易受攻击的 pgAdmin 4 实例:
docker-compose up -d
[email protected]admin| 代码 | 含义 |
|---|---|
| 0 | 未发现漏洞 |
| 1 | 发现一个或多个易受攻击的目标 |
| 2 | 扫描出现错误 |
╔═══════════════════════════════════════════════════════════════╗
║ CVE-2025-13780 pgAdmin 4 扫描器 ║
║ 正则表达式绕过远程代码执行 ║
║ ║
║ 受影响版本:pgAdmin 4 <= 8.14 ║
╚═══════════════════════════════════════════════════════════════╝
[*] 正在检查与 http://localhost:5050 的连通性
[+] 目标似乎是 pgAdmin
[+] 检测到版本:8.14
[+] 已获取 CSRF token
[!] 版本 8.14 在受影响范围内(<= 8.14)
[*] 正在测试正则表达式绕过模式
[+] BOM 绕过:已绕过
[+] CRLF 绕过:已绕过
⚠️ 检测到漏洞 ⚠️
此工具仅供 教育和授权的安全测试目的 使用。
本项目采用 MIT 许可证 - 详见 LICENSE 文件。
| 选项 | 描述 |
|---|
target | 目标 URL(例如 http://localhost:5050) |
-f, --file | 包含目标列表的文件(每行一个) |
-e, --email | 用于身份验证的 pgAdmin 邮箱 |
-p, --password | 用于身份验证的 pgAdmin 密码 |
-o, --output | 结果输出文件 |
--json | 以 JSON 格式输出结果 |
-q, --quiet | 抑制横幅和信息消息 |
-v, --verbose | 启用详细/调试输出 |
-t, --timeout | 请求超时秒数(默认:10) |
--threads | 多目标扫描的线程数(默认:5) |
--exploit-demo | 运行攻击演示模式 |
--exploit | 执行实际攻击(需要 --lhost) |
--lhost | 用于反弹 shell 回调的攻击者 IP |
--lport | 用于反弹 shell 的攻击者端口(默认:4444) |
--cmd | 要执行的自定义命令(可选) |
| 因素 | 最高分 | 详情 |
|---|
| 版本在受影响范围内(≤ 8.14) | 40 | 检测到的版本 ≤ 8.14 |
| 版本未知 | 15 | 无法确定版本时 |
| 恢复端点可访问 | 25 | 恢复 API 无需认证即可访问 |
| 恢复端点(需要认证) | 15 | 恢复 API 存在但需要认证 |
| BOM 和 CRLF 绕过均有效 | 25 | 两种正则绕过方法均成功 |
| 一种绕过方法有效 | 20 | BOM 或 CRLF 绕过成功 |
| 浏览器端点可访问 | 10 | 主 pgAdmin 界面可访问 |