Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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-57821-PoC-Exploit — 🔐 CVE-2026-57821 - Apache Fineract SQL Injection Toolkit 📚 Due script Python per test di sicurezza autorizzati: verifier.py (rilevamento sicuro, nessuna estrazione) e exploit.py (analisi approfondita). Supporta 11 tipi di DB. Perfetto per comprendere le vulnerabilità di SQL injection. Solo test legali ⚠️ esclusivamente per scopi educativi e di ricerca. | Kitploit
Strumenti/GitHubGitHub/tc4dy/cve-2026-57821-poc-exploit
Analisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneSicurezza dei Database
GitHub
tc4dy/cve-2026-57821-poc-exploit

CVE-2026-57821-PoC-Exploit

Vedi Repository
321 mese 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 →

Informazioni

🔐 CVE-2026-57821 - Apache Fineract SQL Injection Toolkit 📚 Due script Python per test di sicurezza autorizzati: verifier.py (rilevamento sicuro, nessuna estrazione) e exploit.py (analisi approfondita). Supporta 11 tipi di DB. Perfetto per comprendere le vulnerabilità di SQL injection. Solo test legali ⚠️ esclusivamente per scopi educativi e di ricerca.

Condividi

CVE-Picture

🛡️ CVE-2026-57821 – SQL Injection su Apache Fineract

⚠️ AVVISO LEGALE ED ETICO
Questo toolkit è fornito esclusivamente a scopo educativo, formativo e per test di sicurezza autorizzati.
L'uso non autorizzato contro qualsiasi sistema senza esplicita autorizzazione scritta è illegale e viola le leggi sui crimini informatici.
L'autore non si assume alcuna responsabilità per uso improprio o danni.
Sei l'unico responsabile delle tue azioni.


📋 Panoramica della Vulnerabilità

CVE-2026-57821 è una vulnerabilità di SQL Injection scoperta nell'endpoint API di elenco uffici di Apache Fineract.

🎯 Componente Affetto

AttributoDettaglio
Endpoint/api/v1/offices
ParametroorderBy
MetodoGET
Autenticazione RichiestaSì (solo utenti autenticati)
Versioni AffetteApache Fineract ≤ 1.14.0
Versione CorrettaApache Fineract 1.15.0

🧠 Come Funziona

La vulnerabilità esiste perché il parametro orderBy viene incorporato direttamente nelle query SQL senza una corretta sanitizzazione. Un attaccante con credenziali valide può iniettare sottoquery racchiuse tra parentesi () nel parametro orderBy.

Perché questo bypassa le correzioni precedenti:

  • CVE-2024-32838 ha introdotto un ColumnValidator per sanificare le clausole ORDER BY
  • Il validator non riesce a rilevare sottoquery semplici all'interno di parentesi
  • Ciò consente l'esecuzione arbitraria di SQL nel contesto ORDER BY

Esempio di Vettore d'Attacco:

GET /api/v1/offices?orderBy=(SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)&limit=1

⚡ Impatto Potenziale

ImpattoDescrizione
Esfiltrazione DatiSQL injection blind basata sul tempo può estrarre contenuti sensibili del database
Denial of ServiceQuery pesanti possono esaurire le risorse del pool di connessioni
Divulgazione InformazioniTecniche basate su errori possono rivelare la struttura del database e i dati

👤 Scoperta e Divulgazione

AttributoDettaglio
Scopritore / ReporterTerence Monteiro (Team Apache Fineract)
Data di Divulgazione Pubblica14 luglio 2026
Versione CorrettaApache Fineract 1.15.0
Annuncio UfficialeMailing List Apache
Fix su GitHubPR #6048

🗄️ Sistemi di Database Supportati

Questo toolkit rileva e adatta automaticamente le tecniche di sfruttamento per 11 diversi back-end di database:

DatabaseMetodo di RilevamentoTecnica di Sfruttamento
PostgreSQLBasato sul tempo (pg_sleep)Blind basato sul tempo
MySQLBasato sul tempo (SLEEP)Blind basato sul tempo
MariaDBBasato sul tempo + @@version_commentBlind basato sul tempo
MSSQLBasato su errori (fallimento CONVERT)Basato su errori
OracleBasato sul tempo (DBMS_LOCK.SLEEP)Blind basato sul tempo
SQLiteQuery pesante (Join Cartesiano)Basato sul tempo (Pesante)
FirebirdQuery pesante (Join Cartesiano)Basato sul tempo (Pesante)
DB2Query pesante (Join Cartesiano)Basato sul tempo (Pesante)
InformixQuery pesante (Join Cartesiano)Basato sul tempo (Pesante)
H2Query pesante (Join Cartesiano)Basato sul tempo (Pesante)
Sconosciuto (Generico)Fallback a PostgreSQLBasato sul tempo

🛠️ Componenti del Toolkit

Questo progetto fornisce due script Python per diversi scenari di valutazione della sicurezza:

📊 verifier.py – Strumento di Verifica Sicuro e Minimo

Scopo: Dimostrare rapidamente l'esistenza della vulnerabilità senza estrarre dati.

Cosa fa:

  • Invia payload di test specifici per database
  • Rileva ritardi temporali o messaggi di errore
  • Segnala VULNERABILE o NON VULNERABILE per ogni tipo di database
  • Non esfiltra alcun dato

✅ Vantaggi:

  • Estremamente veloce (completa in pochi secondi)
  • Basso rischio legale (solo validazione della presenza)
  • Ideale per scansioni di sicurezza iniziali
  • Output adatto per report di conformità

📋 Caso d'Uso: Valutazione iniziale per determinare se il target è vulnerabile.

🔬 exploit.py – Analizzatore di Sicurezza Completo

Scopo: Sfruttare completamente la vulnerabilità per estrarre informazioni dal database.

Cosa fa:

  • Rileva automaticamente il tipo di database
  • Utilizza ricerca binaria per estrarre carattere per carattere
  • Recupera: versione, utente corrente, nome del database, elenco tabelle (configurabile)
  • MSSQL: estrazione basata su errori
  • Altri: estrazione basata sul tempo con calibrazione della baseline

✅ Vantaggi:

  • Fornisce prove concrete dell'impatto
  • Dimostra l'intera estensione della vulnerabilità
  • Log dettagliati con output colorato

📋 Caso d'Uso: Analisi di sicurezza approfondita dopo la conferma della vulnerabilità.

🔍 Differenza Chiave: verifier.py ti dice se è vulnerabile; exploit.py ti mostra cosa può essere estratto. Entrambi svolgono ruoli distinti ma complementari in un flusso di lavoro di valutazione della sicurezza.


⚙️ Installazione e Configurazione

Prerequisiti

  • Python 3.6+
  • Libreria requests
root@kitploit:~
pip install requests

⚙️ Variabili di Configurazione

Modifica le seguenti variabili all'inizio di entrambi gli script:

VariabileDescrizioneDefault
TARGETURL API di Fineracthttp://localhost:8080/fineract-provider/api/v1/offices
USERNAMENome utente per l'autenticazione APImifos
PASSWORDPassword per l'autenticazione APIpassword
TENANT_IDIdentificativo tenantdefault
BASE_SLEEPDurata del sonno per test basati sul tempo (exploit.py)6
SLEEP_SECONDSDurata del sonno per test basati sul tempo (verifier.py)5
TIMEOUTTimeout richiesta HTTP25 (exploit) / 15 (verifier)
MAX_RETRIESNumero di tentativi per richieste fallite2

🚀 Guida all'Uso

1️⃣ exploit.py - Scansione Approfondita

root@kitploit:~
python3 exploit.py

Output Previsto:

root@kitploit:~
CVE-2026-57821 - Apache Fineract Vulnerability Verifier
══════════════════════════════════════════════════════════════════════════════════════
@tc4dy is here :) Good Luck!

CONNESSIONE RIUSCITA
BASELINE: 0.234s
INIZIO VERIFICA VULNERABILITÀ
RISULTATI VERIFICA
PostgreSQL: VULNERABILE
MySQL: NON VULNERABILE
MariaDB: NON VULNERABILE
Oracle: NON VULNERABILE
MSSQL: NON VULNERABILE
CONCLUSIONE: IL TARGET È VULNERABILE (CVE-2026-57821 CONFERMATO)

Interpretazione: Se VULNERABILE appare per qualsiasi tipo di database, il target è affetto.

🎯 Specifiche Tecniche

Punteggio CVSS

MetricaValore
Punteggio Base CVSS v3.18.1 (Alto)
VettoreCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
Vettore d'AttaccoRete
Privilegi RichiestiBasso
Interazione dell'UtenteNessuna
Punteggio EPSS
root@kitploit:~
0.29% (probabilità di sfruttamento entro 30 giorni)

Mappatura CWE

root@kitploit:~
CWE‑89: Neutralizzazione Impropria di Elementi Speciali usati in un Comando SQL ('SQL Injection')

🧪 Approfondimento Tecnico

Perché il Payload Funziona

Il codice vulnerabile in Apache Fineract 1.14.0:

root@kitploit:~
// Logica vulnerabile semplificata
String orderBy = request.getParameter("orderBy");
if (ColumnValidator.isValid(orderBy)) {
    // IL VALIDATOR FALLISCE PER: "(SELECT ...)"
    // Controlla solo nomi di colonne semplici
    String sql = "SELECT * FROM offices ORDER BY " + orderBy;
    // Esegue la query con input utente direttamente
}

Esempio di Payload dell'Attaccante:

root@kitploit:~
GET /api/v1/offices?orderBy=(SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)&limit=1

SQL Risultante:

root@kitploit:~
SELECT * FROM offices ORDER BY (SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)

Il ColumnValidator controlla i nomi delle colonne ma non rileva la sottoquery annidata, consentendo l'esecuzione arbitraria di SQL.

🛡️ Mitigazione

AzionePriorità
Aggiornare a Apache Fineract 1.15.0+🔴 Critica
Applicare la patch PR #6048🔴 Critica
Regola WAF: Bloccare orderBy contenente (SELECT, SLEEP(, pg_sleep(, WAITFOR🟠 Alta
Monitorare i log per orderBy con parentesi o parole chiave di sottoquery🟠 Alta
Monitoraggio del pool di connessioni del database per rilevare esaurimento risorse🟡 Media
Scarica lo strumento