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

Detaillierte Erklärung der HTML-Formularelemente (Teil 2)

HTML-Eingabeattribute Das Value-Attribut Das Valu...

Schritte zur Annotation von Metadeklarationen

Schritte zur Annotation von Metadeklarationen: 1. ...

HTML-Tabellen-Tag-Tutorial (45): Tabellen-Body-Tag

Mit dem Tag <tbody> wird der Stil des Tabel...

Installations-JDK-Tutorialanalyse für Linux-System (Centos6.5 und höher)

Artikelstruktur 1. Vorbereitung 2. Installieren S...

Konfigurationslösung für die MySQL Dual-Master-Architektur (Master-Master)

In Unternehmen hat die hohe Verfügbarkeit von Dat...

Java-Beispielcode zum Generieren von zufälligen Zeichen

Beispielcode: importiere java.util.Random; import...

Die 6 effektivsten Möglichkeiten zum Schreiben von HTML und CSS

In diesem Artikel werden die sechs wirksamsten Me...

Spezifische Verwendung des Linux-gcc-Befehls

01. Befehlsübersicht Der Befehl gcc verwendet den...

8 leistungsstarke Techniken zum Erstellen von HTML-Webseiten

<br />Es gibt zwar viele Tools zum Erstellen...