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.

FeedContattoPrivacy© 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
3406 giorni 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 in Apache Fineract

AVVISO LEGALE ED ETICO
Questo toolkit è fornito esclusivamente per scopi educativi, di formazione e di test di sicurezza autorizzati.
L'uso non autorizzato contro qualsiasi sistema senza esplicito permesso scritto è illegale e viola le leggi sui reati 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 degli uffici di Apache Fineract.

Componente interessato

AttributoDettaglio
Endpoint/api/v1/offices
ParametroorderBy
MetodoGET
Autenticazione richiestaSì (solo utenti autenticati)
Versioni interessateApache 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 aggira le correzioni precedenti:

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

Esempio di vettore di 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 di datiLa SQL injection cieca basata sul tempo può estrarre contenuti sensibili del database
Denial of ServiceQuery pesanti possono esaurire le risorse del pool di connessioni
Divulgazione di informazioniLe tecniche basate sugli errori possono rivelare la struttura del database e i dati

Scoperta e divulgazione

AttributoDettaglio
Scopritore / SegnalatoreTerence Monteiro (Apache Fineract Team)
Data di divulgazione pubblica14 luglio 2026
Versione correttaApache Fineract 1.15.0
Annuncio ufficialeApache Mailing List
Correzione su GitHubPR #6048

Sistemi di database supportati

Questo toolkit rileva e adatta automaticamente le tecniche di sfruttamento per 11 diversi backend di database:

DatabaseMetodo di rilevamentoTecnica di sfruttamento
PostgreSQLBasato sul tempo (pg_sleep)Blind basata sul tempo
MySQLBasato sul tempo (SLEEP)Blind basata sul tempo
MariaDBBasato sul tempo + @@version_commentBlind basata sul tempo
MSSQLBasato sugli errori (fallimento di CONVERT)Basata sugli errori
OracleBasato sul tempo (DBMS_LOCK.SLEEP)Blind basata sul tempo
SQLiteQuery pesante (Join cartesiano)Basata sul tempo (pesante)
FirebirdQuery pesante (Join cartesiano)Basata sul tempo (pesante)
DB2Query pesante (Join cartesiano)Basata sul tempo (pesante)
InformixQuery pesante (Join cartesiano)Basata sul tempo (pesante)
H2Query pesante (Join cartesiano)Basata sul tempo (pesante)
Sconosciuto (generico)Fallback a PostgreSQLBasata 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 minimale

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

Cosa fa:

  • Invia payload di test specifici per il database
  • Rileva ritardi temporali o messaggi di errore
  • Segnala VULNERABLE o NOT VULNERABLE per ciascun tipo di database
  • NON esfiltra alcun dato

** Vantaggi:**

  • Estremamente veloce (si completa in pochi secondi)
  • Basso rischio legale (valida solo la presenza)
  • Ideale per la scansione di sicurezza iniziale
  • Output adatto ai report per la conformità

** Caso d'uso:** Valutazione di primo passaggio 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 la ricerca binaria per estrarre carattere per carattere
  • Recupera: versione, utente corrente, nome del database, elenco delle tabelle (configurabile)
  • MSSQL: estrazione basata sugli errori
  • Altri: estrazione basata sul tempo con calibrazione della baseline

Vantaggi:

  • Fornisce prove concrete dell'impatto
  • Dimostra la portata completa della vulnerabilità
  • Log dettagliati con output colorato

** Caso d'uso:** Analisi di sicurezza approfondita dopo la conferma della vulnerabilità.

** Differenza chiave:** verifierPoC.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
pip install requests

Variabili di configurazione

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

VariabileDescrizioneValore predefinito
TARGETURL dell'API Fineracthttp://localhost:8080/fineract-provider/api/v1/offices
USERNAMENome utente per l'autenticazione APImifos
PASSWORDPassword per l'autenticazione APIpassword
TENANT_IDIdentificatore del tenantdefault
BASE_SLEEPDurata dell'attesa per i test basati sul tempo (exploit.py)6
SLEEP_SECONDSDurata dell'attesa per i test basati sul tempo (verifier.py)5
TIMEOUTTimeout delle richieste HTTP25 (exploit) / 15 (verifier)
MAX_RETRIESNumero di tentativi per le richieste non riuscite2

Guida all'utilizzo

exploit.py - Scansione approfondita

python3 exploit.py

Output atteso:

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

CONNECTION SUCCESS
BASELINE: 0.234s
STARTING VULNERABILITY VERIFICATION
VERIFICATION RESULTS
PostgreSQL: VULNERABLE
MySQL: NOT VULNERABLE
MariaDB: NOT VULNERABLE
Oracle: NOT VULNERABLE
MSSQL: NOT VULNERABLE
CONCLUSION: TARGET IS VULNERABLE (CVE-2026-57821 CONFIRMED)

Interpretation: If VULNERABLE appears for any database type, the target is affected.

Specifiche tecniche

Punteggio CVSS Metrica Valore Punteggio base CVSS v3.1 8.1 (Alto) Vettore CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H Vettore di attacco Rete Privilegi richiesti Bassi Interazione utente None Punteggio EPSS

0.29% (probabilità di sfruttamento entro 30 giorni)

Mappatura CWE

CWE‑89: Neutralizzazione impropria di elementi speciali utilizzati in un comando SQL ('SQL Injection')

Analisi tecnica approfondita

Perché il payload funziona

Il codice vulnerabile in Apache Fineract 1.14.0:

// Simplified vulnerable logic
String orderBy = request.getParameter("orderBy");
if (ColumnValidator.isValid(orderBy)) {
    // VALIDATOR FAILS FOR: "(SELECT ...)"
    // Only checks against simple column names
    String sql = "SELECT * FROM offices ORDER BY " + orderBy;
    // Executes query with user input directly
}

Esempio di payload dell'attaccante:

Scarica lo strumento