Skip to content
KitploitKITPLOIT
ToolsBlog
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-2023-45503 — CVE-2023-45503 Referenz | Kitploit
Tools/GitHubGitHub/ally-petitt/cve-2023-45503
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungDatenbanksicherheit
GitHubally-petitt/cve-2023-45503

CVE-2023-45503

CVE-2023-45503 Referenz

Repository anzeigen
3vor 2 JahrenNoch 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-2023-45503 Details zur Sicherheitslücke

Überblick

In Macrob7 Macs Framework Content Management System (CMS) Version 1.1.4f und früher führt unsichere Handhabung von Benutzereingaben zu 16 SQL-Injection-Schwachstellen. Die Möglichkeit, beliebige SQL-Abfragen auszuführen, kann zur Offenlegung privater Daten führen, einschließlich der Passwort-Hashes der Benutzer und der Möglichkeit, die Anmeldeinformationen und Privilegien anderer Benutzer zu ändern. Die Auswirkungen können eine Privilegieneskalation und potenzielle Remote-Code-Ausführung (RCE) umfassen.

Eine Tabelle, die jeden betroffenen Endpunkt, den anfälligen Parameter und die anfälligen Funktionen auflistet, finden Sie unter diesem Link.

CWE-Klassifizierung: CWE-89: Fehlende Neutralisierung von speziellen Elementen in einem SQL-Befehl ('SQL-Injection')

Gemeldet von: Ally Petitt

Betroffenes Produkt: Macrob7 Macs CMS

Betroffene Versionen: 1.1.4f und früher

Technische Details

In 16 Fällen, die ich entdeckte, wurden Benutzereingaben ohne ordnungsgemäße Bereinigung oder Parametrisierung entgegengenommen. Beispielsweise wird in der Funktion „Passwort vergessen" dieses CMS eine E-Mail-Adresse angefordert.

Application/plugins/CMS/controllers/CMS.php:224

root@kitploit:~
    public function forgotPasswordProcess()
    {
      $this->loadModels();
      $emailAddress = Post::getByKey('emailAddress');

      $user = $this->usersModel->getUserByEmailAddress($emailAddress);

Die E-Mail-Adresse wird dann an die Methode getUserByEmailAddress() übergeben, die die E-Mail an weitergibt, eine Methode, die nicht ordnungsgemäß gegen injizierte SQL-Abfragen schützt.

Tool herunterladen
selectSingle()

Application/plugins/CMS/models/Users_Model.php:41

root@kitploit:~
    public function getUserByEmailAddress($emailAddress)
    {
       return $this->selectSingle( $this->getCMSTableNameUsers(), array('EmailAddress'=>$emailAddress));
    }

Dann ruft selectSingle() die Funktion select() mit der übergebenen Benutzereingabe auf.

Application/core/DB.php:200

root@kitploit:~
    public function selectSingle($tableName, array $where = array(), array $fields = array('*'))
    {
      $return = $this->select($tableName, $where, $fields);

      $single = NULL;

      if( count($return) > 0 )
        $single = $return[0];

      return $single;
    }

Die anfällige Funktion select() verkettet die übergebenen Parameter zu einer SQL-Abfrage, die anschließend ausgeführt wird.

Application/core/DB.php:186

root@kitploit:~
    public function select($tableName, array $where = array(), array $fields = array('*'))
    {      
      $fieldsString = $this->generatePair($fields, ',');
      $whereString = $this->generateKeyValuePair($where, '=', 'AND');

      $sql = 'SELECT '.$fieldsString.' FROM '.$tableName;

      if($whereString !='')
        $whereString = ' WHERE '.$whereString;

      $sql = $sql.' '.$whereString.';';     
      return $this->execute($sql)->fetchAll($this->returnType, $this->className);
    }

Aufgrund des Fehlens von Eingabebereinigung, Validierung und Parametrisierung bleibt diese Funktion anfällig für SQL-Injection-Angriffe.

Gegenmaßnahmen

Leider bedeutet die mangelnde Wartung dieses CMS, dass kein gepatchtes Update verfügbar ist. Einzelne Benutzer können den Code ändern, um parametrisierte SQL-Abfragen zu verwenden, anstatt sich auf Verkettung zu verlassen, um Benutzereingaben an die Datenbank zu übergeben. Prepared Statements sind ein Beispiel für eine Gegenmaßnahme, die dies erreichen kann.