Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/xs2024770/cve-2024-57521-ruoyi-sqli
Análisis Estático de Código (SAST)Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPapers e InvestigaciónAprendizaje y Educación
GitHub

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
xs2024770/cve-2024-57521-ruoyi-sqli

CVE-2024-57521-RuoYi-SQLi

Auditoría estática de código de CVE-2024-57521, una inyección SQL autenticada en el módulo generador de RuoYi-Vue, con análisis de origen a destino y una PoC de omisión del filtro %0b.

Ver Repositorio
48hace 1 mesAún no revisado

🛡️ Notas de auditoría de la vulnerabilidad de inyección SQL autenticada CVE-2024-57521 en RuoYi-Vue

CVE

Figura 1: Diagrama de auditoría del flujo de datos de la vulnerabilidad de inyección SQL CVE-2024-57521

0. Declaración del proyecto

Este repositorio está destinado únicamente a fines de investigación de seguridad y educativos. No utilice las técnicas descritas en este documento para realizar ataques no autorizados. Todas las pruebas se completaron en un entorno local de auditoría estática de código.


1. Resumen de la vulnerabilidad

  • ID de CVE: CVE-2024-57521
  • Componente afectado: Sistema de gestión de permisos RuoYi-Vue (módulo ruoyi-generator)
  • Versiones afectadas: <= v4.7.9
  • Tipo de vulnerabilidad: Inyección SQL autenticada (inyección ciega booleana / CWE-89)
  • Puntuación CVSS: 10.0 (Crítica)
  • Método de auditoría: Auditoría puramente estática de código (análisis de código fuente)

2. Análisis de auditoría del flujo de datos (Source → Filter → Sink)

2.1 Source (punto de entrada de la entrada del usuario)

  • Ubicación del archivo: ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java

Código clave:

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

Análisis: el administrador del backend puede inyectar sentencias SQL arbitrarias de creación de tablas a través del parámetro sql de una solicitud HTTP POST. El punto de entrada no restringe suficientemente la entrada del usuario y la pasa directamente al filtro posterior.

Evidencia en capturas de pantalla: 03-SqlUtil-filterKeyword

2.2 Filter (defecto fatal del filtro)

· Ubicación del archivo: ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java

Código del defecto central:

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

Análisis del defecto: el filtro ejecuta primero replaceAll("\\p{Z}|\\s", "") para eliminar todos los caracteres de espacio en blanco de la entrada. Sin embargo, las palabras clave de la lista negra SQL_REGEX (como "and ", "select ") incluyen un espacio final. Esto provoca que la coincidencia falle inevitablemente; basta con que el atacante utilice %0b (tabulador vertical) en lugar de un espacio después de la palabra clave para eludir por completo la comprobación de la lista negra.

Evidencia en capturas de pantalla:

02-SqlUtil-SQL_REGEX 01-GenController-createTableSave

2.3 Sink (punto peligroso)

· Ubicación del archivo: ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml

Descargar herramienta