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
Strumenti/GitHubGitHub/xs2024770/cve-2024-57521-ruoyi-sqli
Analisi Statica del Codice (SAST)Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPaper e RicercaApprendimento e Formazione
GitHub

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
xs2024770/cve-2024-57521-ruoyi-sqli

CVE-2024-57521-RuoYi-SQLi

Audit statico del codice di CVE-2024-57521, un'iniezione SQL autenticata nel modulo generator di RuoYi-Vue, con analisi source-to-sink e un PoC di bypass del filtro %0b.

Vedi Repository
481 mese faNon ancora revisionato

🛡️ CVE-2024-57521 Note di audit della vulnerabilità SQL injection post-autenticazione in RuoYi-Vue

CVE

Figura 1: Diagramma di audit del flusso di dati della vulnerabilità SQL injection CVE-2024-57521

0. Dichiarazione del progetto

Questo repository è destinato esclusivamente a scopi di ricerca sulla sicurezza e didattici. Non utilizzare le tecniche contenute in questo documento per condurre attacchi non autorizzati. Tutti i test sono stati eseguiti in un ambiente locale di audit statico del codice.


1. Panoramica della vulnerabilità

  • ID CVE: CVE-2024-57521
  • Componente interessato: Sistema di gestione dei permessi RuoYi-Vue (modulo ruoyi-generator)
  • Versioni interessate: <= v4.7.9
  • Tipo di vulnerabilità: SQL injection post-autenticazione (blind injection booleana / CWE-89)
  • Punteggio CVSS: 10.0 (Critico)
  • Metodo di audit: Audit statico del codice puro (analisi del codice sorgente)

2. Analisi dell'audit del flusso di dati (Source → Filter → Sink)

2.1 Source (punto di ingresso dell'input utente)

  • Posizione del file: ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java

Codice chiave:

@PostMapping("/createTable")
public AjaxResult createTableSave(@RequestParam("sql") String sql, @RequestParam("tplWebType") String tplWebType)
{
    try
    {
        SqlUtil.filterKeyword(sql); // 在进入业务前调用过滤器

Analisi: l'amministratore back-end può passare istruzioni arbitrarie di creazione di tabelle del database tramite il parametro sql della richiesta HTTP POST. Il punto di ingresso non applica restrizioni sufficienti all'input dell'utente e lo passa direttamente al filtro successivo.

Prova tramite screenshot: 03-SqlUtil-filterKeyword

2.2 Filter (difetto critico del filtro)

· Posizione del file: ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java

Codice del difetto principale:

// 第16行:黑名单定义,注意关键词带有【尾随空格】
public static String SQL_REGEX = "\u0008|%0A|and |extractvalue|updatexml|sleep|information_schema|exec...";

// 第61-66行:过滤逻辑
String normalizedValue = value.replaceAll("\\p{Z}|\\s", ""); // 先清空了输入里的所有空格
String[] sqlKeywords = StringUtils.split(SQL_REGEX, "\\|");
for (String sqlKeyword : sqlKeywords)
{
    if (StringUtils.indexOfIgnoreCase(normalizedValue, sqlKeyword) > -1)
    {
        throw new UtilException("请求参数包含敏感关键词" + sqlKeyword + ",可能存在安全风险");
    }
}

Analisi della vulnerabilità: il filtro esegue innanzitutto replaceAll("\\p{Z}|\\s", "") rimuovendo tutti i caratteri di spaziatura dall'input. Tuttavia, le parole chiave nella blacklist SQL_REGEX (come "and ", "select ") contengono uno spazio finale. Ciò rende il matching inevitabilmente fallimentare: è sufficiente che l'attaccante utilizzi %0b (tab verticale) al posto dello spazio dopo la parola chiave per aggirare perfettamente il controllo della blacklist.

Prove tramite screenshot:

02-SqlUtil-SQL_REGEX 01-GenController-createTableSave

2.3 Sink (punto critico)

· Posizione del file: ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml

Scarica lo strumento