
Nicht-intrusiver Checker für CVE-2026-63030 / CVE-2026-60137 ("wp2shell"), eine Pre-Authentication-RCE-Kette im WordPress-Kern.
Nicht-intrusiver Prüfer für CVE-2026-63030 / CVE-2026-60137 ("wp2shell"), eine Pre-Authentifizierungs-RCE-Kette im WordPress-Kern (REST-API-Batch-Routen-Konfusion → SQL-Injection → RCE).
readme.html, Startseite <meta name="generator">, /feed/-Generator-Tag)./wp-json/batch/v1, ?rest_route=/batch/v1) erreichbar ist – ein sekundäres Signal dafür, ob bereits eine WAF/REST-API-Abschwächung vorhanden ist.Es sendet kein SQL-Injection- oder RCE-Payload. Die vollständige Exploit-Kette wurde hier nicht unabhängig verifiziert, und das Abschießen ungetesteter Injection-Payloads auf Produktionsseiten kann selbst bei "nur Testen" echten Schaden verursachen. Behandle dies als sicheres Triage und bestätige die Wahrheit mit wp core version auf dem Host oder einem authentifizierten Vendor-Scanner.
Führe dies nur gegen Systeme aus, die du testen darfst.
python3 wp2shell_check.py https://site1.example.com https://site2.example.com
python3 wp2shell_check.py -f targets.txt -o report.csv --workers 8
python3 wp2shell_check.py -f targets.txt --insecure # internal self-signed certs
targets.txt: eine URL/Hostname pro Zeile, # für Kommentare.
Exit-Codes: 2 = anfällig gefunden, 1 = Version für mindestens ein Ziel unbestimmt, 0 = alle behoben.
Ein 404 auf dem Batch-Pfad bedeutet nicht immer "behoben" – es kann auch bedeuten, dass eine WAF/CDN oder ein Sicherheits-Plugin anonymen REST-API-Zugriff vor einer ansonsten anfälligen Installation blockiert (überprüfe Antwort-Header/Body auf WAF-Fingerabdrücke). Nur ein Upgrade auf eine behobene Version entfernt tatsächlich den anfälligen Code.
Python 3.8+, nur Standardbibliothek (keine zusätzlichen Abhängigkeiten).