Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2024-57521-RuoYi-SQLi — Statische Codeanalyse von CVE-2024-57521, einer authentifizierten SQL-Injection im Generator-Modul von RuoYi-Vue, mit Source-to-Sink-Analyse und einem %0b-Filter-Bypass-PoC. | Kitploit
Tools/GitHubGitHub/xs2024770/cve-2024-57521-ruoyi-sqli
Statische Code-Analyse (SAST)SchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPapers & ForschungLernen & Bildung
GitHub

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
xs2024770/cve-2024-57521-ruoyi-sqli

CVE-2024-57521-RuoYi-SQLi

Statische Codeanalyse von CVE-2024-57521, einer authentifizierten SQL-Injection im Generator-Modul von RuoYi-Vue, mit Source-to-Sink-Analyse und einem %0b-Filter-Bypass-PoC.

Repository anzeigen
48vor 1 MonatNoch nicht geprüft

🛡️ CVE-2024-57521 RuoYi-Vue SQL-Injection nach Authentifizierung – Audit-Notizen

CVE

Abbildung 1: Datenfluss-Auditdiagramm der SQL-Injection-Schwachstelle CVE-2024-57521

0. Projekt-Haftungsausschluss

Dieses Repository dient ausschließlich Sicherheitsforschung und Bildungszwecken. Nutzen Sie die in diesem Dokument beschriebenen Techniken nicht für nicht autorisierte Angriffe. Alle Tests wurden in einer lokalen statischen Code-Audit-Umgebung durchgeführt.


1. Schwachstellenübersicht

  • CVE-Nummer: CVE-2024-57521
  • Betroffene Komponente: RuoYi-Vue Berechtigungsverwaltungssystem (Modul ruoyi-generator)
  • Betroffene Versionen: <= v4.7.9
  • Schwachstellentyp: SQL-Injection nach Authentifizierung (Boolean-Blind-Injection / CWE-89)
  • CVSS-Bewertung: 10.0 (Critical)
  • Audit-Methode: Reines statisches Code-Audit (Quellcodeanalyse)

2. Datenfluss-Auditanalyse (Source → Filter → Sink)

2.1 Source (Benutzereingabe-Einstiegspunkt)

  • Dateipfad: ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java

Relevanter Code:

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

Analyse: Ein Backend-Administrator kann über den sql-Parameter einer HTTP-POST-Anfrage beliebige Datenbank-DDL-Anweisungen übergeben. Der Einstiegspunkt schränkt Benutzereingaben nicht ausreichend ein und übergibt sie direkt an den nachfolgenden Filter zur Verarbeitung.

Screenshot-Beleg: 03-SqlUtil-filterKeyword

2.2 Filter (kritischer Fehler im Filter)

· Dateiposition: ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java

Kernfehler-Code:

// 第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 + ",可能存在安全风险");
    }
}

Schwachstellenanalyse: Der Filter führt zunächst replaceAll("\\p{Z}|\\s", "") aus und entfernt damit alle Leerzeichen aus der Eingabe. Die Schlüsselwörter in der Blacklist SQL_REGEX (wie "and ", "select ") enthalten jedoch ein abschließendes Leerzeichen. Dadurch schlägt die Übereinstimmung zwangsläufig fehl; sobald ein Angreifer nach dem Schlüsselwort %0b (vertikales Tabulatorzeichen) anstelle eines Leerzeichens verwendet, lässt sich die Blacklist-Prüfung mühelos umgehen.

Screenshot-Belege:

02-SqlUtil-SQL_REGEX 01-GenController-createTableSave

2.3 Sink (gefährliche Stelle)

· Dateiposition: ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml

Tool herunterladen