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-52614 — C'è una vulnerabilità di SQL injection nel backend di Ruoyi v4.8.3 | Kitploit
Strumenti/GitHubGitHub/chinesespeople/cve-2026-52614
Password CrackingAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration Testing
GitHubchinesespeople/cve-2026-52614

CVE-2026-52614

C'è una vulnerabilità di SQL injection nel backend di Ruoyi v4.8.3

Vedi Repository
11 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 →
Condividi

CVE-2026-52614 - RuoYi v4.8.3 Bypass SQL Injection tramite filterKeyword

中文 | English

Autorizzazione richiesta / Solo test autorizzati
Questo repository è destinato esclusivamente alla ricerca sulla sicurezza e a test autorizzati. Non utilizzarlo contro sistemi senza esplicita autorizzazione.
Questo repository è destinato esclusivamente alla ricerca sulla sicurezza e a test espressamente autorizzati. Non utilizzarlo su sistemi non autorizzati.

中文说明

Riepilogo della vulnerabilità

L'endpoint /tool/gen/createTable del modulo di generazione codice di RuoYi v4.8.3 accetta SQL di creazione tabelle da parte di utenti backend autenticati. L'endpoint chiama SqlUtil.filterKeyword() per bloccare parole chiave SQL pericolose. Tuttavia, l'implementazione rimuove tutti gli spazi bianchi dall'input prima di confrontare le voci della blacklist che contengono spazi finali, come select , insert e drop . Di conseguenza, tali voci non possono corrispondere all'input normalizzato.

Un'istruzione CREATE TABLE ... AS SELECT ... (CTAS) può superare il controllo di tipo MySqlCreateTableStatement di Druid pur eseguendo una SELECT. Un attaccante con una sessione backend valida può sfruttare questo comportamento per un'iniezione SQL booleana cieca, estrarre dati sensibili e creare tabelle.

Precondizioni

  • Il target esegue RuoYi v4.8.3.
  • Il tester dispone di un JSESSIONID valido e autenticato per il backend.
  • L'account autenticato può accedere agli endpoint del modulo di generazione codice.
  • Il database e l'account configurato consentono operazioni CTAS.

Come funziona il PoC

Lo script recupera l'hash della password e il salt dell'utente admin dalla tabella sys_user utilizzando il seguente oracolo:

  1. Crea una tabella intermedia contenente login_name, password e salt.
  2. Crea una tabella di test per ogni carattere candidato con una condizione SUBSTRING().
  3. Quando la condizione è vera, CTAS restituisce una riga e la tabella di test non viene importata automaticamente nell'elenco delle tabelle del generatore.
  4. Quando la condizione è falsa, CTAS restituisce zero righe e la tabella viene importata automaticamente, diventando visibile tramite /tool/gen/list.
  5. Utilizza questa differenza per recuperare l'hash della password e il salt un carattere alla volta.

Requisiti

  • Python 3.8+
  • Una sessione backend RuoYi valida e autorizzata
  • Pacchetti Python: requests, urllib3

Installa le dipendenze:

root@kitploit:~
python -m pip install requests urllib3

Utilizzo

Apri exp.py e sostituisci le due righe seguenti nella sezione di configurazione nella parte superiore del file:

root@kitploit:~
TARGET = "http://127.0.0.1:8080"
COOKIE = "JSESSIONID=your_session_id"

Dove:

  • TARGET è l'URL base di RuoYi da testare, ad esempio http://127.0.0.1:8080.
  • COOKIE è una sessione JSESSIONID valida e autenticata del backend.

Dopo aver sostituito l'URL e la sessione, esegui:

root@kitploit:~
python exp.py

Lo script crea una tabella intermedia e molte tabelle di test booleano nel database target. Utilizzalo solo in un ambiente isolato o espressamente autorizzato e chiedi all'amministratore del database di rimuovere le tabelle generate dopo il test.

Screenshot

exp.png mostra una verifica riuscita in un ambiente locale autorizzato:

Successful verification

Mitigazione

  • Non affidarti alle blacklist di parole chiave SQL né eseguire SQL fornito dall'utente direttamente.
  • Correggi la logica di normalizzazione e corrispondenza in filterKeyword(), ma non considerarla come l'unico controllo di sicurezza.
  • Applica autorizzazioni rigorose, audit e protezione CSRF agli endpoint di generazione codice.
  • Rimuovi la creazione arbitraria di tabelle SQL; se necessario, costruisci istruzioni fisse a partire da parametri strutturati e validati.
  • Utilizza un account database con privilegi minimi che non possa leggere tabelle sensibili o eseguire operazioni CTAS/DDL non necessarie.
  • Aggiorna a una release ufficialmente corretta o applica la patch di sicurezza del fornitore.

English

Riepilogo

L'endpoint /tool/gen/createTable del modulo di generazione codice di RuoYi v4.8.3 accetta SQL di creazione tabelle da parte di utenti backend autenticati. L'endpoint chiama SqlUtil.filterKeyword() per bloccare parole chiave SQL pericolose. Tuttavia, l'implementazione rimuove tutti gli spazi bianchi dall'input prima di confrontare le voci della blacklist che contengono spazi finali, come select , insert e drop . Di conseguenza, tali voci non possono corrispondere all'input normalizzato.

Un'istruzione CREATE TABLE ... AS SELECT ... (CTAS) può superare il controllo di tipo MySqlCreateTableStatement di Druid pur eseguendo una SELECT. Un attaccante con una sessione backend valida può sfruttare questo comportamento per un'iniezione SQL booleana cieca, estrarre dati sensibili e creare tabelle.

Precondizioni

  • Il target esegue RuoYi v4.8.3.
  • Il tester dispone di un JSESSIONID valido e autenticato per il backend.
  • L'account autenticato può accedere agli endpoint del modulo di generazione codice.
  • Il database e l'account configurato consentono operazioni CTAS.

Come funziona il PoC

Lo script recupera l'hash della password e il salt dell'utente admin dalla tabella sys_user utilizzando il seguente oracolo:

  1. Crea una tabella intermedia contenente login_name, password e salt.
  2. Crea una tabella di test per ogni carattere candidato con una condizione SUBSTRING().
  3. Quando la condizione è vera, CTAS restituisce una riga e la tabella di test non viene importata automaticamente nell'elenco delle tabelle del generatore.
  4. Quando la condizione è falsa, CTAS restituisce zero righe e la tabella viene importata automaticamente, diventando visibile tramite /tool/gen/list.
  5. Utilizza questa differenza per recuperare l'hash della password e il salt un carattere alla volta.

Requisiti

  • Python 3.8+
  • Una sessione backend RuoYi valida e autorizzata
  • Pacchetti Python: requests, urllib3

Installa le dipendenze:

root@kitploit:~
python -m pip install requests urllib3

Utilizzo

Apri exp.py e sostituisci le due righe seguenti nella sezione di configurazione nella parte superiore del file:

root@kitploit:~
TARGET = "http://127.0.0.1:8080"
COOKIE = "JSESSIONID=your_session_id"

Dove:

  • TARGET è l'URL base di RuoYi da testare, ad esempio http://127.0.0.1:8080.
  • COOKIE è una sessione JSESSIONID valida e autenticata del backend.

Dopo aver sostituito l'URL e la sessione, esegui:

root@kitploit:~
python exp.py

Lo script crea una tabella intermedia e molte tabelle di test booleano nel database target. Utilizzalo solo in un ambiente isolato o espressamente autorizzato e chiedi all'amministratore del database di rimuovere le tabelle generate dopo il test.

Screenshot

exp.png mostra una verifica riuscita in un ambiente locale autorizzato:

Successful verification

Mitigazione

  • Non affidarti alle blacklist di parole chiave SQL né eseguire SQL fornito dall'utente direttamente.
  • Correggi la logica di normalizzazione e corrispondenza in filterKeyword(), ma non considerarla come l'unico controllo di sicurezza.
  • Applica autorizzazioni rigorose, audit e protezione CSRF agli endpoint di generazione codice.
  • Rimuovi la creazione arbitraria di tabelle SQL; se necessario, costruisci istruzioni fisse a partire da parametri strutturati e validati.
  • Utilizza un account database con privilegi minimi che non possa leggere tabelle sensibili o eseguire operazioni CTAS/DDL non necessarie.
  • Aggiorna a una release ufficialmente corretta o applica la patch di sicurezza del fornitore.

File

  • exp.py - script di verifica / script di verifica
  • exp.png - screenshot di verifica riuscita / screenshot di verifica riuscita
  • README.md - documentazione bilingue della vulnerabilità / documentazione bilingue della vulnerabilità
Scarica lo strumento