
Asynchroner WordPress-Sicherheitsscanner mit WAF-Umgehung über Headless-Browser. Listet Plugins, Themes, Benutzer und Multisite-Installationen auf mit Stealth-Fingerprinting und WPScan-Schwachstellenintegration.
█ █░ ██▓███ ▒██ ██▒ ██▀███ ▄▄▄ ▓██ ██▓ ▓█░ █ ░█░▓██░ ██▒ ▒▒ █ █ ▒░▓██ ▒ ██▒▒████▄ ▒██ ██▒ ▒█░ █ ░█ ▓██░ ██▓▒ ░░ █ ░▓██ ░▄█ ▒▒██ ▀█▄ ▒██ ██░ ░█░ █ ░█ ▒██▄█▓▒ ▒ ░ █ █ ▒ ▒██▀▀█▄ ░██▄▄▄▄██ ░ ▐██▓░ ░░██▒██▓ ▒██▒ ░ ░ ▒██▒ ▒██▒░██▓ ▒██▒ ▓█ ▓██▒ ░ ██▒▓░ ░ ▓░▒ ▒ ▒▓▒░ ░ ░ ▒▒ ░ ░▓ ░░ ▒▓ ░▒▓░ ▒▒ ▓▒█░ ██▒▒▒ ▒ ░ ░ ░▒ ░ ░░ ░▒ ░ ░▒ ░ ▒░ ▒ ▒▒ ░▓██ ░▒░ ░ ░ ░░ ░ ░ ░░ ░ ░ ▒ ▒ ▒ ░░ ░ ░ ░ ░ ░ ░░ ░ ░ ░
WPX — WordPress X-Ray Scanner | WAF Bypass
WPX (WordPress X-Ray) ist ein Sicherheitsscanner, der Camoufox verwendet, um Cloudflare- und WAF-Herausforderungen zu lösen. Er spiegelt diese Sitzungen, um eine schnelle, asynchrone Plugin- und Theme-Erkennung, Benutzeraufzählung und Multisite-Erkennung durchzuführen.
Hinweis: WPX lädt die erforderlichen Scan-Metadaten (Fingerabdrücke, Erkennungsregeln) von data.wpscan.org herunter.
asyncio und curl_cffi für schnelle Aufzählung.wpscan.Der einfachste Weg, WPX auszuführen – kein Python oder Abhängigkeiten erforderlich.
docker run ghcr.io/greg-randall/wpx -u https://example.com
docker run -v $(pwd):/output ghcr.io/greg-randall/wpx -u https://example.com -o /output/results.txt
Ohne Volume lädt WPX bei jedem Start die Metadaten neu. Mounten Sie ein benanntes Volume, um dies zu vermeiden:
docker run -v wpx-data:/app/.wpx_data ghcr.io/greg-randall/wpx -u https://example.com
Aktualisieren Sie die Metadaten bei Bedarf manuell:
docker run -v wpx-data:/app/.wpx_data ghcr.io/greg-randall/wpx --update
git clone https://github.com/greg-randall/wpx.git
cd wpx
pip install .
python3 -m camoufox fetch
python3 wpx.py -u https://example.com
python3 wpx.py -u https://example.com --api-key IHR_API_SCHLÜSSEL
Scannen Sie eine bestimmte Anzahl der am besten bewerteten Plugins (z. B. die besten 500):
python3 wpx.py -u https://example.com --plugins-limit 500
Scannen Sie jedes jemals erstellte Plugin. WPX kann die gesamte historische Bibliothek von ca. 110.000 Plugins (einschließlich ca. 55.000 aktuell aktiver) durchlaufen, um jede Spur von Software auf dem Ziel zu finden. Achtung: Dies führt eine massive Anzahl von Anfragen durch und kann je nach Thread-Anzahl und Reaktionsfähigkeit des Ziels mehrere Stunden dauern.
python3 wpx.py -u https://example.com --full-scan
Die Benutzeraufzählung läuft automatisch ab. Um den Bereich der zu testenden Autoren-IDs einzuschränken oder sie vollständig zu deaktivieren:
python3 wpx.py -u https://example.com --users-limit 20
python3 wpx.py -u https://example.com --enum-users-disable
Führen Sie einen Scan still durch und speichern Sie die Ergebnisse ohne ANSI-Farbcodes in einer Datei:
python3 wpx.py -u https://example.com --quiet --output results.txt
Um die Plugin-Listen zu aktualisieren und nach Beliebtheit zu sortieren:
python3 data/wpx_fetch_plugins.py --sort-by score
Erzeugt data/plugins_active.txt (Standard: Top 5000) und data/plugins_dead.txt (Standard: Top 2500).
Um die Grenzen zu ändern:
python3 data/wpx_fetch_plugins.py --active-limit 10000 --dead-limit 5000
Das Verzeichnis data/ enthält die verarbeiteten Plugin-Datensets und Wartungswerkzeuge:
data/plugins_active.txt: Top aktive Plugin-Slugs, sortiert nach Beliebtheitswert (geometrisches Mittel aus Installationen × Downloads).data/plugins_dead.txt: Top geschlossene/entfernte Plugin-Slugs, sortiert nach der historischen Installationszahl (aus früheren Katalogläufen oder Archive.org-Schnappschüssen).data/plugins_catalog.json: Zwischengespeicherte Metadaten für aktive Plugins.data/plugins_dead.jsonl: Anhängbarer Cache mit Metadaten für tote Plugins, einschließlich der zuletzt bekannten Installationszahlen. Neue Einträge überschreiben beim Laden alte (letzter Schreibvorgang gewinnt).data/archive.org-cache/: Rohe HTML-Schnappschüsse von der Wayback Machine, die verwendet werden, um historische Installationszahlen für vor dem ersten Kataloglauf geschlossene Plugins wiederherzustellen.data/wpx_fetch_plugins.py: Fetcher, der die WordPress.org-API, das SVN-Repository und Archive.org kombiniert, um die Plugin-Listen zu erstellen und anzureichern.wpx.py)data/wpx_fetch_plugins.py)Dieses Werkzeug ist nur für autorisierte Sicherheitstests bestimmt. Die Entwickler übernehmen keine Verantwortung für Missbrauch oder Schäden.
| Flag | Beschreibung |
|---|
-u, --url | Ziel-WordPress-URL (erforderlich). |
--api-key | WPScan Vulnerability Database API-Schlüssel. |
-t, --threads | Gleichzeitige Threads für das Scannen (Standard: 20). |
--plugins-limit | Begrenzung der Anzahl zu scannender Plugins (z. B. 500, 5000). |
--full-scan | Scannt alle verfügbaren Plugin-Slugs (bis zu 50k+). |
--update | Erzwingt Aktualisierung der WPScan-Metadatendateien. |
--no-browser | Überspringt den Camoufox-WAF-Bypass und verbindet direkt. |
--enum-users-disable | Überspringt die Benutzeraufzählung. |
--users-limit N | Anzahl der zu testenden Autoren-IDs über ?author=N (Standard: 10). |
--stealth [N] | Fügt zufällige Verzögerungen zwischen Anfragen ein. Untergrenze ist 1s, Obergrenze ist 2×N Sekunden (Standard, wenn Flag gesetzt: 1.5 → 1–3s). Begrenzt auch Threads auf 3. |
--idle-timeout N | Abbruch, wenn für N Sekunden keine Serverantwort empfangen wird (Standard: 60, 0 = deaktiviert). |
-q, --quiet | Unterdrückt Banner, Status und Fortschritt – zeigt nur Funde an. |
-o, --output DATEI | Schreibt Ausgabe in DATEI (Klartext, keine ANSI-Codes). |
| Flag | Beschreibung |
|---|
--sort-by | Wie aktive Plugins bewertet werden: score (Standard), active_installs, downloaded. |
--active-limit N | Anzahl der aktiven Slugs, die in plugins_active.txt geschrieben werden (Standard: 5000, 0 = alle). |
--dead-limit N | Anzahl der toten Slugs, die in plugins_dead.txt geschrieben werden (Standard: 2500, 0 = alle). |
--force | Alles neu abrufen, auch wenn der Katalog bereits existiert. |
--fetch-limit N | Stopp nach dem Abrufen von N aktiven Plugins von der API (0 = alle). |
--max-age STUNDEN | API-Abruf überspringen, wenn der Katalog neuer als N Stunden ist (Standard: 24). |