Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-63030 — CVE-2026-63030 - Prova di concetto di SQL Injection di Route-Confusion nel batch REST di WordPress | Kitploit
Strumenti/GitHubGitHub/ch4120n/cve-2026-63030
Scanner di VulnerabilitàExploitSicurezza WebPenetration TestingApprendimento e Formazione
GitHubch4120n/cve-2026-63030

CVE-2026-63030

CVE-2026-63030 - Prova di concetto di SQL Injection di Route-Confusion nel batch REST di WordPress

Vedi Repository
2422 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-63030

Proof of Concept per l'SQL Injection da Route-Confusion nel Batch REST di WordPress (CVE-2026-63030)
Ricerca, sviluppo dell'exploit e documentazione a cura di Ch4120N

CVE Python License Status


⚠️ Disclaimer Legale

Questo repository e il relativo strumento (exploit.py) sono destinati esclusivamente a scopi educativi, test di penetrazione autorizzati e ricerca sulla sicurezza.
L'utilizzo di questo exploit contro obiettivi senza un consenso esplicito, preventivo e scritto è illegale e viola le leggi globali contro le frodi e gli abusi informatici. L'autore (Ch4120N) non si assume assolutamente alcuna responsabilità per usi impropri, danni o conseguenze legali derivanti dall'uso di questo codice. Operate sempre entro i limiti della legge e ottenete la dovuta autorizzazione.


📖 Panoramica della Vulnerabilità: CVE-2026-63030

CVE-2026-63030 è una vulnerabilità critica e non autenticata che colpisce la REST API di WordPress. Sfrutta un bug di route-confusion all'interno dell'endpoint di elaborazione batch annidata (/wp-json/batch/v1 o /?rest_route=/batch/v1).

La Causa Principale

Quando WordPress elabora un batch di richieste REST API, valida ogni sotto-richiesta rispetto al suo schema specifico prima dell'esecuzione. Tuttavia, a causa di un difetto nel modo in cui il puntatore di routing interno gestisce percorsi deliberatamente malformati (ad es. ///), lo schema di validazione si desincronizza dall'handler di esecuzione effettivo.

La Catena di Attacco

  1. Route Confusion e SQLi: Un attaccante inietta un payload batch annidato. La desincronizzazione fa sì che una richiesta destinata all'endpoint /wp/v2/users (che non accetta author_exclude) venga eseguita dall'handler di /wp/v2/posts. Il parametro author_exclude non sanificato viene passato direttamente nella clausola author__not_in di WP_Query, risultando in una SQL Injection non autenticata.
  2. Creazione Admin Pre-Autenticazione: La SQLi viene utilizzata per leggere il database e identificare gli ID dei post oembed_cache. L'exploit utilizza quindi un payload changeset del Customizer per avvelenare la cache del menu di navigazione, ingannando WordPress e facendogli eseguire una richiesta di creazione utente nel contesto di un amministratore esistente.
  3. Esecuzione Remota di Codice (RCE): Con un account amministratore appena forgiato, lo strumento si autentica, carica un plugin webshell PHP randomizzato e protetto da token, esegue comandi del sistema operativo e rimuove in modo sicuro tutte le tracce.

Versioni Interessate

  • WordPress 6.9.0 fino a 6.9.4
  • WordPress 7.0.0 fino a 7.0.1 (Nota: le versioni precedenti potrebbero essere vulnerabili a seconda delle configurazioni specifiche dei plugin e dei backport della REST API).

🚀 Funzionalità

  • Zero Dipendenze: Libreria standard Python 3 al 100%. Nessun pip install richiesto.
  • File Singolo Modulare: Tutti i componenti (Client, SQLi, Exploit, Shell, CLI) sono organizzati in modo ordinato in un unico script portabile (exploit.py).
  • Estrazione SQL Multi-Tecnica: Passa automaticamente ai metodi più veloci disponibili:
    1. Basata su UNION: Estrazione in-band forgiando una riga WP_Post fittizia (1 richiesta per valore).
    2. Basata su Errori: Sfrutta gli errori XPATH di EXTRACTVALUE() se WP_DEBUG_DISPLAY è abilitato.
    3. Blind Boolean/Timing: Estrazione di caratteri tramite ricerca binaria con ritardi di sleep configurabili.
  • Bridge Pre-Auth Automatico: Nessuna necessità di credenziali esistenti; lo strumento crea al volo il proprio account amministratore.
  • Webshell Effimera: Genera uno slug plugin univoco e un token crittograficamente sicuro. La shell rifiuta di eseguire senza il token e si autodistrugge dopo l'uso.
  • Pulizia Automatica: Elimina automaticamente l'account amministratore forgiato e rimuove la directory del plugin webshell all'uscita.
  • REPL Interattivo: Fornisce uno pseudo-terminale che mantiene lo stato della directory di lavoro remota (supporto cd).

📦 Installazione e Requisiti

Non sono richiesti pacchetti di terze parti. Assicurati di avere installato Python 3.8 o superiore.

# Clone the repository
git clone https://github.com/Ch4120N/CVE-2026-63030.git
cd CVE-2026-63030

# Make the script executable
chmod +x exploit.py

# Verify Python version
python3 --version
# Executing the script
python3 exploit.py

💻 Utilizzo Dettagliato e Opzioni

L'exploit è diviso in tre sotto-comandi principali: check, read e shell.

Opzioni Globali

Queste opzioni si applicano a tutti i sotto-comandi:

OpzioneDescrizionePredefinito
urlURL di base del target (es. http://target.com)Obbligatorio
--rest-routeUsa /?rest_route=/batch/v1 invece di /wp-json/batch/v1 (per siti con permalink disabilitati).False
--timeoutTimeout delle richieste HTTP in secondi.30.0
--proxyProxy HTTP/HTTPS (es. http://127.0.0.1:8080).None

1. check - Rilevamento della Vulnerabilità

Sonda in modo sicuro il target per confermare la presenza dei marcatori di route-confusion e testa i tempi della SQLi senza estrarre dati.

OpzioneDescrizionePredefinito
--sleepRitardo di temporizzazione SQL (secondi) usato dal fallback --confirm-sqli.3.0
--samplesNumero di coppie di temporizzazione SQL baseline/ritardate da testare.3
--confirm-sqliInvia un payload attivo di conferma SQLi (aggiunge un lieve ritardo).False

2. read - Estrazione dal Database

Estrae i dati direttamente dal database tramite l'iniezione SQL.

OpzioneDescrizionePredefinito
--presetPreset di estrazione rapida: fingerprint (versione/utente/db) o users (login/hash).fingerprint
--queryEsegue un'espressione SQL scalare personalizzata (es. "SELECT @@version").None
--prefixPrefisso delle tabelle del database.wp_
--max-lengthNumero massimo di caratteri da estrarre per valore.128
--techniqueTecnica di estrazione: auto, union, error o blind.auto

3. shell - Esecuzione Remota di Codice

Distribuisce la webshell ed esegue i comandi. Se non vengono fornite credenziali, attiva automaticamente il bridge di creazione dell'admin in pre-autenticazione.

OpzioneDescrizionePredefinito
--userNome utente admin. (Ometti per usare il bridge di pre-autenticazione).None
--passwordPassword admin. (Ometti per usare il bridge di pre-autenticazione).None
--cmdComando singolo da eseguire sul target.None
-i, --interactiveApre una shell interattiva (REPL) dopo la distribuzione.False

🖥️ Prove di Esecuzione ed Esempi

Di seguito alcuni esempi reali dello strumento in azione.

Esempio 1: Verifica della Vulnerabilità

$ python3 exploit.py check http://vulnerable-wordpress.local --confirm-sqli
Scarica lo strumento