Detaillierte Erklärung der MySQL-Injektion ohne Kenntnis des Spaltennamens

Detaillierte Erklärung der MySQL-Injektion ohne Kenntnis des Spaltennamens

Vorwort

Ich habe in letzter Zeit das Gefühl, dass mein Kopf leer ist, da ich Löcher gegraben habe, nur um Platz für sie zu schaffen. Ich denke, es wäre besser, zur Technologie selbst zurückzukehren und mich wohler zu fühlen. Okay, reden wir nicht zu viel, schauen wir uns die ausführliche Einführung an.

Prämisse

Die folgende Situation gilt für MySQL-Versionen < 5 oder >= 5 [Informationsschemabibliothek vorhanden], und der Bibliotheksname und der Tabellenname wurden abgerufen

① Wenn nur der Tabellenname, aber nicht der Spaltenname oder nur der Spaltenname ohne gültigen Inhalt (z. B. ID) abgerufen werden kann

② Wenn Sie die Struktur anderer Tabellen, z. B. Tabellennamen und Spaltennamen, über die Tabellen in der Bibliothek information_schema abrufen möchten, diese Bibliothek jedoch von WAF herausgefiltert wird

Tatsächlich finde ich persönlich, dass diese Methode für Versionen unter 5 praktischer ist, da ich normalerweise aufgebe, wenn ich auf WAF stoße (ich bin wirklich ein schlechter Programmierer 23333).

lösen

Normale Abfrage:

Das Folgende ist eine normale Abfrage des Benutzertabelleninhalts in der Testdatenbank

wähle * vom Benutzer; 

UNION-Abfrage:

Wählen Sie 1,2,3,4, Union, wählen Sie * vom Benutzer; 

Abfrage der entsprechenden Zahlenspalte:

Sie können Zahlen verwenden, um den Spalten für die Abfrage zu entsprechen. So entspricht beispielsweise 2 der Spalte „Name“ in der Tabelle.

Wählen Sie `2` aus (Wählen Sie 1,2,3,4, Union, wählen Sie * vom Benutzer)a; 

Alias-Ersatzabfrage:

Wenn das Backtick ` nicht verwendet werden kann, kann stattdessen ein Alias ​​verwendet werden, z. B. indem der Alias ​​von 2 auf b gesetzt wird.

wähle b aus (wähle 1,2 als b,3,4, Union-Auswahl * vom Benutzer)a; 

Abfrage zum Zusammenführen mehrerer Spalten:

Wie oben: Wenn Backticks hier nicht verwendet werden können, können Sie stattdessen auch Aliase verwenden

Wählen Sie concat(`2`,0x3a,`3`) aus (Wählen Sie 1,2,3,4 Union Select * vom Benutzer)a Limit 1,1; 

Nur zum Übersetzen und Organisieren von Ideen

Originallink: https://blog.redforce.io/sqli-extracting-data-without-knowing-columns-names/

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • MySQL- und SQL-Injection und Präventionsmethoden
  • SQL-Injection mit MySQL-Injection-Analyse
  • Die MySQL-Datenbank verwendet die Concat-Funktion, um SQL-Injection-Abfragen auszuführen
  • MySQL5-Injection-Sicherheitslücke
  • PHP-Programm zur Verhinderung von MySQL-Injection oder HTML-Formularmissbrauch
  • Zusammenfassung der MySQL-Injection-Bypass-Filtertechniken
  • Detaillierte Erklärung der Funktionen outfile, dumpfile und load_file bei der MySQL-Injektion
  • Fehlereinfügungsanalyse der Funktion „updatexml()“ von MySQL
  • Zusammenfassung der Methoden zum Verhindern von SQL-Injection in Node-MySQL
  • 7 wichtige Punkte zur Verhinderung von PHP MYSQL-Injection-Angriffen

<<:  Tomcat-Domänennamenzugriff mit mehreren Ports und Konfiguration zum Aktivieren der GZIP-Komprimierungsmethode

>>:  Schritte zum Erstellen eines WEBSERVERS mit NODE.JS

Artikel empfehlen

Detailliertes Tutorial zur Installation eines PXC-Clusters mit Docker

Inhaltsverzeichnis Vorwort Vorbereitende Vorberei...

Detaillierte Erläuterung der MySQL-Existes- und Not-Existes-Beispiele

Detaillierte Erläuterung der MySQL-Existes- und N...

Beispielcode für nahtloses Scrollen mit Flex-Layout

In diesem Artikel wird hauptsächlich der Beispiel...

Schritte zum Upgrade des Ubuntu 16.04-Kernels

1. Umwelt Ubuntu 16.04 läuft auf einer virtuellen...

React+Koa-Beispiel zur Implementierung des Datei-Uploads

Inhaltsverzeichnis Hintergrund Serverabhängigkeit...

Vue implementiert einen einfachen Rechner

In diesem Artikelbeispiel wird der spezifische Co...

H-Tags sollten bei der Erstellung von Webseiten sinnvoll verwendet werden

HTML-Tags haben spezielle Tags zur Handhabung des ...

Erfahren Sie in 3 Minuten, wie Sie den Supervisor Watchdog verwenden

Software- und Hardwareumgebung centos7.6.1810 64b...

Zehn Erfahrungen bei der Präsentation chinesischer Webinhalte

<br /> Ich habe mich auf die drei Aspekte Te...

Vue implementiert die Produktregisterkarte der Produktdetailseitenfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Schritte zur Installation von MySQL in Win

In diesem Artikel werden die detaillierten Schrit...

Das Vue-Projekt implementiert eine Fortschrittsbalkenfunktion für den Dateidownload

Im täglichen Geschäftsleben gibt es zwei gängige ...