MySQL weist eine Riddle-Sicherheitslücke auf, die zum Verlust von Benutzernamen und Passwörtern führen kann

MySQL weist eine Riddle-Sicherheitslücke auf, die zum Verlust von Benutzernamen und Passwörtern führen kann

Die Riddle-Sicherheitslücke, die auf die MySQL-Versionen 5.5 und 5.6 abzielt, kann durch einen Man-in-the-Middle-Angriff Benutzernamen- und Kennwortinformationen preisgeben. Bitte aktualisieren Sie so schnell wie möglich auf Version 5.7.

Die Riddle-Sicherheitslücke besteht im DBMS Oracle MySQL und Angreifer können sie ausnutzen, um Benutzernamen und Passwörter durch Man-in-the-Middle-Authentifizierung zu stehlen.

„Riddle ist eine schwerwiegende Sicherheitslücke in der Oracle MySQL 5.5- und 5.6-Clientdatenbank. Sie ermöglicht es einem Angreifer, Riddle in einer Man-in-the-Middle-Position zu verwenden, um eine SSL-konfigurierte Verbindung zwischen einem MySQL-Client und -Server zu kompromittieren“, heißt es in der Beschreibung der Sicherheitslücke. „Diese Sicherheitslücke ist sehr gefährlich, weil sie erstens MySQL betrifft – eine sehr beliebte SQL-Datenbank – und zweitens SSL-Verbindungen, die per Definition sicher sein sollten.“

Die Riddle-Sicherheitslücke mit der Bezeichnung CVE-2017-3305 ermöglicht es Angreifern, Daten, darunter Benutzernamen und Passwörter, abzufangen, wenn MySQL 5.5 und 5.6 diese an den Server senden.

Die Sicherheitsupdates für die Versionen 5.5.49 und 5.6.30 haben die Schwachstelle nicht vollständig behoben. Experten stellten fest, dass MariaDB-Systeme ab Version 5.7 von der Sicherheitslücke nicht betroffen sind.

Der Sicherheitsforscher Pali Rohár sagte, dass die Ursache der Riddle-Sicherheitslücke die BACKRONYM-Sicherheitslücke sei, die zuvor in der MySQL-Datenbank bestand und nicht behoben wurde. Die Backronym-Sicherheitslücke kann bei einem Man-In-The-Middle-Angriff zum Leaken von Passwörtern genutzt werden, selbst wenn der Datenverkehr verschlüsselt ist.

„Die Sicherheitsupdates für die stabilen Versionen von MySQL 5.5.49 und 5.6.30 haben eine Validierung der Sicherheitsparameter nach Abschluss des Authentifizierungsprozesses hinzugefügt.“ „Da die Aktion nach Abschluss der Authentifizierung ausgeführt wird, ermöglicht ein Riddle-Man-in-the-Middle-Angriff in Kombination mit einem SSL-Downgrade einem Angreifer, die Anmeldedaten zu stehlen, um sich zu authentifizieren und beim MySQL-Server anzumelden“, schrieb Rohár.

„Interessanterweise meldet der MySQL-Client keine SSL-bezogenen Fehler, wenn der MySQL-Server die Authentifizierung eines Benutzers verweigert, sondern stattdessen unverschlüsselte Fehlermeldungen, die vom Server gesendet werden. Diese Fehlermeldungen werden vom Man-in-the-Middle-Angreifer gesteuert.“

Experten empfehlen, die Client-Software auf MySQL 5.7 oder MariaDB zu aktualisieren, da Sicherheitsupdates für diese Anwendungen ordnungsgemäß funktionieren.

PoC

Der Autor stellt ein in Perl geschriebenes PoC-Skript bereit. Es wird das Rätsel auf dem lokalen Port 3307 geöffnet und der MySQL-Server wird auf localhost:3306 ausgeführt.

Führen Sie Riddle auf dem Middleman-Server aus:

$ perl rätsel.pl

Verbinden Sie den MySQL-Client mit dem Rätsel:

$ mysql --ssl-mode=ERFORDERLICH -h 127.0.0.1 -P 3307 -u Benutzer -p Passwort

Wenn Sie den richtigen Benutzernamen und das richtige Passwort angeben, stellt Riddle eine Verbindung zum Server her, führt die SQL-Anweisung aus und gibt Folgendes aus:

SELECT COUNT(*) FROM information_schema.TABLES --> 121

Der MySQL-Client erhält eine von Riddle gesendete Fehlermeldung:

FEHLER 1045 (28000): Zugriff verweigert: MITM-Angriff

Oracle behebt Schwachstellen nicht rechtzeitig

Die Riddle-Sicherheitslücke wurde im Februar entdeckt, betrifft aber immer noch die Oracle MySql-Software.

„Wenn Sie kein Oracle-Kunde sind, hat es keinen Sinn, ihnen Schwachstellen zu melden (auch solche, die sicherheitsrelevant sind). Sie können jeden Bericht komplett ignorieren und sind froh, wenn niemand davon erfährt, sodass sie das Problem nicht beheben müssen“, erklärte Rohár.

Zusammenfassen

Oben ist die Lösung, die ich Ihnen für die MySQL Riddle-Sicherheitslücke vorgestellt habe, die zu einem Verlust von Benutzernamen und Passwörtern führen kann. Ich hoffe, sie wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • So fügen Sie in MySQL 8.0 schnell Spalten hinzu
  • Detaillierte Erklärung zur Verwendung von MySQL Online DDL
  • So beheben Sie die durch MySQL DDL verursachte Synchronisierungsverzögerung
  • Detaillierte Erklärung der atomaren DDL-Syntax von MySQL 8.0
  • MySQL Online-DDL-Tool Gh-Ost-Prinzipanalyse
  • Verwendung von MySQL DDL-Anweisungen
  • Zusammenfassung gängiger MySQL-DDL-Operationen
  • Analyse der neuen Funktionen von MySQL 8.0 - Transaktionales Datenwörterbuch und Atomic DDL
  • Grundlegende Anweisungen der MySQL-Datendefinitionssprache DDL
  • MySQL 8.0 DDL-Atomaritätsfunktion und Implementierungsprinzip
  • Zusammenfassung der Verwendung von MySQL Online DDL gh-ost
  • Lösen Sie das Problem der blockierenden Positionierungs-DDL in MySQL 5.7
  • Neue Funktionen in MySQL 8.0: Unterstützung für atomare DDL-Anweisungen
  • Zusammenfassung der schnellen Spaltenaddition bei MySQL 8.0 Online DDL

<<:  So simulieren Sie Netzwerkpaketverlust und -verzögerung in Linux

>>:  So verwenden und begrenzen Sie Requisiten in React

Artikel empfehlen

mysql löst zeitzonenbezogene Probleme

Vorwort: Bei der Verwendung von MySQL können Prob...

Vue.js verwaltet die Kapselung von Hintergrundtabellenkomponenten

Inhaltsverzeichnis Problemanalyse Warum Kapselung...

Einführung in Jenkins und wie man Jenkins mit Docker bereitstellt

1. Verwandte Konzepte 1.1 Jenkins-Konzepte: Jenki...

Reines HTML und CSS, um den JD-Karusselleffekt zu erzielen

Das JD-Karussell wurde mit reinem HTML und CSS im...

Details zur Überwachung von DOM-Elementen durch MutationObServer in JavaScript

1. Grundlegende Verwendung Es kann über den Mutat...

Designtheorie: Hierarchie im Design

<br />Originaltext: http://andymao.com/andy/...

JavaScript verwendet setTimeout, um einen Countdown-Effekt zu erzielen

Um die Fähigkeit zum Schreiben von nativem JavaSc...

React-Konfiguration px-Konvertierung rem-Methode

Installieren Sie zugehörige Abhängigkeiten npm ic...

Grundkenntnisse der MySQL-Datenbank

Inhaltsverzeichnis 1. Datenbanken verstehen 1.1 D...

CSS-Code zur Unterscheidung von IE8/IE9/IE10/IE11 Chrome Firefox

Das Debuggen der Website-Kompatibilität ist wirkl...

So verwenden Sie das Datums-Plugin vue-bootstrap-datetimepicker in vue-cli 3

Nachfragehintergrund In letzter Zeit plane ich, V...

Erstellen Sie mit Flutter eine verschiebbare Stapel-Widget-Funktion

Dieser Beitrag konzentriert sich auf ein streng g...