Skip to content

Latest commit

 

History

History
199 lines (144 loc) · 5.24 KB

File metadata and controls

199 lines (144 loc) · 5.24 KB

🔐 Bubble.io Payload Encrypter/Decrypter - دليل الاستخدام

📋 نظرة عامة

مجموعة أدوات كاملة لتشفير وفك تشفير payloads من منصة Bubble.io. تستخدم AES-CBC مع PBKDF2-MD5 لتوليد المفاتيح.

الميزات:

  • 🔓 فك التشفير: استخراج البيانات من payloads مشفرة
  • 🔐 التشفير: تشفير البيانات بنفس آلية Bubble.io
  • الاختبار: التحقق من صحة التشفير وفك التشفير
  • 📊 دعم JSON: تشفير/فك تشفير JSON مباشرة

🔐 آلية التشفير

يستخدم Bubble.io ثلاث قيم مشفرة:

  • x: IV مشفر (Initialization Vector)
  • y: Timestamp مشفر
  • z: البيانات الرئيسية المشفرة (Payload)

خطوات فك التشفير:

  1. فك تشفير y (Timestamp)

    • يستخدم IV ثابت: 'po9'
    • المفتاح: appname
  2. فك تشفير x (IV)

    • يستخدم IV ثابت: 'fl1'
    • المفتاح: appname
  3. فك تشفير z (Payload)

    • يستخدم: appname + timestamp كمفتاح
    • يستخدم: x المفكك كـ IV

🚀 الاستخدام

🔓 فك التشفير (Decryption)

الطريقة 1: السكريبت المحسّن

python3 decrypt_optimized.py

ثم أدخل:

  • AppName (من header X-Bubble-Appname)
  • القيم المشفرة x, y, z

الطريقة 2: الاستخدام البرمجي

from payload_decrypter import decrypt_bubble_payload

appname = "your_app_name"
x_encrypted = "your_encrypted_x_value=="
y_encrypted = "your_encrypted_y_value=="
z_encrypted = "your_encrypted_z_value..."

timestamp, iv, payload = decrypt_bubble_payload(appname, x_encrypted, y_encrypted, z_encrypted)
print(payload.decode('utf-8'))

🔐 التشفير (Encryption)

الطريقة 1: السكريبت التفاعلي

python3 payload_encrypter.py

ثم أدخل:

  • AppName
  • البيانات للتشفير (JSON أو نص)

الطريقة 2: مثال سريع

python3 quick_encrypt.py

الطريقة 3: الاستخدام البرمجي

from payload_encrypter import encrypt_bubble_payload

# تشفير JSON
payload = {
    "appname": "your_app_name",
    "data": "my secret data"
}

result = encrypt_bubble_payload("your_app_name", payload)

print(f"x: {result['x']}")
print(f"y: {result['y']}")
print(f"z: {result['z']}")

✅ اختبار التشفير وفك التشفير

python3 test_encrypt_decrypt.py

يقوم هذا السكريبت بـ:

  1. تشفير بيانات تجريبية
  2. فك تشفيرها
  3. التحقق من التطابق ✓

📦 المتطلبات

pip3 install cryptography

🔍 مثال على النتيجة

القيم المدخلة:

AppName: your_app_name
x: example_encrypted_x==
y: example_encrypted_y==
z: example_encrypted_z...

النتيجة:

{
  "appname": "your_app_name",
  "app_version": "live",
  "searches": [
    {
      "type": "custom.example_type",
      "constraints": [
        {
          "key": "status",
          "value": "active",
          "constraint_type": "equals"
        }
      ],
      "n": 20
    }
  ]
}

📁 الملفات

السكريبتات الرئيسية:

  • 🔓 payload_decrypter.py - فك التشفير الرئيسي المحسّن
  • 🔐 payload_encrypter.py - التشفير الرئيسي
  • decrypt_optimized.py - نسخة محسّنة لفك التشفير
  • 🚀 quick_encrypt.py - مثال سريع للتشفير
  • test_encrypt_decrypt.py - اختبار شامل

التوثيق:

  • 📖 README_AR.md - الدليل الرئيسي (هذا الملف)
  • 📚 ENCRYPTION_GUIDE_AR.md - دليل التشفير الشامل
  • 📄 Pop_n_bubble.pdf - شرح الثغرة الأمنية

النتائج:

  • 📊 decryption_result.json - نتيجة فك التشفير المحفوظة
  • 💾 quick_encrypted.json - مثال للبيانات المشفرة

⚡ التحسينات المنفذة

✅ تقليل تكرار الكود ✅ تحسين الأداء باستخدام دوال مشتركة ✅ إزالة الدوال المكررة ✅ معالجة أفضل للأخطاء ✅ كود أنظف وأسهل للقراءة ✅ توثيق شامل

🔒 ملاحظات أمنية

⚠️ هذه الأداة للأغراض التعليمية والاختبارات الأمنية فقط ⚠️ لا تستخدمها على تطبيقات بدون إذن ⚠️ Bubble.io يستخدم IVs ثابتة مشتركة بين جميع التطبيقات (ثغرة أمنية)

📝 رخصة الاستخدام

هذا المشروع مفتوح المصدر للأغراض التعليمية


📞 التواصل

للإبلاغ عن مشاكل أمنية أو الإفصاح المسؤول:

  • 📱 واتساب: +201001995914
  • 🐛 GitHub Issues: أبلغ هنا
  • 📧 البحث الأمني: تواصل عبر واتساب للإفصاح المسؤول

⭐ ضع نجمة للمشروع إذا وجدته مفيداً للبحث الأمني!