Können Sie diese SQL-Injektion erklären?

8

Die Webseite, an der ich gearbeitet habe, wurde vor kurzem von dem folgenden SQL-Injektionsskript gehackt

%Vor%

Diese Injektion gab den MySQL-Tabellennamen zurück. Dies wurde von dem Fehlermeldesystem auf dieser Website gemeldet und wir haben es geschafft, diesen Teil zu beheben, aber ich bin nicht in der Lage zu verstehen, was die obige Injektion bedeutet?

Jeder kann das erklären?

Penuel

    
Penuel 10.08.2010, 03:57
quelle

3 Antworten

4

Nach diesem MySQL Concat ()

  

Gibt die Zeichenfolge zurück, aus der sich ergibt   Verkettung der Argumente. Könnte haben   ein oder mehrere Argumente. Ich falle   Argumente sind nicht binäre Zeichenfolgen, die   Ergebnis ist eine nicht binäre Zeichenfolge. Wenn die   Argumente umfassen alle binären Zeichenfolgen,   Das Ergebnis ist eine binäre Zeichenfolge. EIN   numerisches Argument wird in sein konvertiert   gleichwertige Binärzeichenfolge

Also wird 0x232425 in # $% konvertiert, was einfach zum Anfang und Ende des Feldes table_name hinzugefügt wird. Vielleicht, um es ihnen leichter zu machen, später mit Regex die Tabellennamen herauszuziehen.

Später entspricht das Zeichen (9) einer Registerkarte, wie Sie hier sehen können, und dient nur dazu, die Ausgabe schöner zu formatieren.

Das 3,4,5,6,7,8,9 ist gerade da, damit die Spalten mit dem Boys-Tisch übereinstimmen, an dem sie die Union ausführen.

    
etoisarobot 10.08.2010, 14:20
quelle
6

Sie verwenden eine Auswahl aus den Ansichten des Informationsschemas in mysql server:

Ссылка

Sie verwenden einige clevere Hacks, um einfache Methoden zur Vermeidung von sql-Injektionen zu beseitigen.

    
brendan 10.08.2010 04:00
quelle
3
Diese Injektion hat den MySQL-Tabellennamen zurückgegeben.

Meinst du, dass deine Website den Tabellennamen angezeigt hat, als du diese Eingabe eingegeben hast, oder dass die Abfrage das zurückgibt, wenn sie vom mysql-Client ausgeführt wird? Wenn es auf Ihrer Website angezeigt wird, hat der Angreifer die Möglichkeit, viel mehr schädliche Abfragen zu injizieren. Überprüfen Sie Ihre Daten.

    
Simon 10.08.2010 16:26
quelle

Tags und Links