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

Der Aufruf der Suchmaschine auf der Seite erfolgt am Beispiel von Baidu

Heute ist mir plötzlich eingefallen, dass es cool ...

Detaillierte Erläuterung verschiedener Speichermethoden von Docker-Containern

Inhaltsverzeichnis Vorne geschrieben Mehrere Spei...

So entfernen Sie MySQL aus Ubuntu und installieren es neu

Löschen Sie zuerst MySQL: sudo apt-get remove mys...

Detaillierte Erklärung zur Verwendung des MySQL-Sicherungsskripts mysqldump

In diesem Artikel wird das MySQL-Sicherungsskript...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.11

Die Installations- und Konfigurationsmethoden von...

So konfigurieren Sie /var/log/messages im Ubuntu-Systemprotokoll

1. Problembeschreibung Heute muss ich die Systemp...

Schreiben Sie einen einfachen Rechner mit JavaScript

Die Wirkung ist wie folgt:Referenzprogramm: <!...

5 Möglichkeiten zur Migration von MySQL zu ClickHouse

Die Datenmigration muss von MySQL nach ClickHouse...

Einführung in JavaScript-Zahlen- und Mathematikobjekte

Inhaltsverzeichnis 1. Zahlen in JavaScript 2. Mat...

Zusammenfassung häufig verwendeter CSS-Kapselungsmethoden

1. PC-Reset Initialisierung im PC-Stil /* normali...