« MySQL/Sécurité » : différence entre les versions

Contenu supprimé Contenu ajouté
A2 (discussion | contributions)
m WikiCleaner 0.99 - Titre de section en capitales (Détecté par P:CS)
wikif + corrections + références + cat
Ligne 1 :
Le but de cet article est de vous présenter quelques notions en matière de '''sécurité PHP / MySQL'''.

Les pirates insèrent souvent du code dans une page [[HTML]] ou [[PHP]], par injection de code, généralement par :
 
* le biais d'un formulaire HTML qui permet d'entrer des données dans la base de données
Ligne 9 ⟶ 11 :
* ou toute autre voie d'accès au serveur possible.
 
L'article est ici succintsuccinct, mais pour aller plus loin dans les connaissances il s'agitest possible de se référer à se guide de sécurité PHP en ligne : <ref>http://phpsec.org/</ref>.
 
==SércuritéSécurité SQL==
 
Les bases de données permettent d'assurer le stockage des informations en liaison par exemple avec des pages HTML couplées avec PHP. Donc tout le monde peut en avoir accès par l'intermédiaire d'un clienclient relié au seveurserveur. MySQL basé sur SQL est notamment très utilisé avec PHP. Il est donc pertinent d'examiner quelques notions de sécurité en matière de SQL.
 
 
Ligne 19 ⟶ 21 :
 
 
'''===Les risques dans les manipulations de données'''===
 
On en retrouve plusieurs types :
 
* CoutournementContournement d'une clause where, c'est-à-dire neutraliser la clause WHERE en injectant une condition constante (toujours vraie ou toujours fausse, comme par exemple : SELECT * FORM table WHERE 1;
 
* Coutournement d'une clause where, c'est-à-dire neutraliser la clause WHERE en injectant une condition constante (toujours vraie ou toujours fausse, comme par exemple : SELECT * FORM table WHERE 1;
 
 
* Modification sans limite, comme par exemple la destruction totale de données avec la commande DELETE : DELETE FROM table WHERE 1;
 
 
* Insertions indésirables, où le pirate peut injecter une ligne complète qui sera traitée à son insu par la base de données. L'application insère ainsi des valeurs dont elle n'est plus maîtresse, par exemple le pirate peut injecter : md5('secret') sans un formulaire, ce qui revient à crypter le mot 'secret', que la base de données ne pourra plus retrouver ou traiter.
 
 
* Exécutions multiples : par exemple une injection pour placer une requête dans une autre requête initiale, afin d'exécuter toutes les injections que veut le pirate.
 
 
* Surcharger le serveurs : c'est-à-dire modifier une requête afin qu'elle engendre une charge de travail importante et inutile pour le serveur.
 
* Exportations cachées : en exportant des données, en les extrayant de leur dépôt habituel et les placer par la suite dans un réceptacle public plus facile à lire. Cela ce fait par exemple en coutournantcontournant la clause WHERE, ou alors en insérant des fichier externes directement sur le serveur SQL.
 
* Exportations cachées : en exportant des données, en les extrayant de leur dépôt habituel et les placer par la suite dans un réceptacle public plus facile à lire. Cela ce fait par exemple en coutournant la clause WHERE, ou alors en insérant des fichier externes directement sur le serveur SQL.
 
===Chiffrement d'un password===
Ligne 58 ⟶ 54 :
Récupération :
SELECT titre, AES_DECRYPT(contenu,'motdepasse') AS contenu FROM dossiersSecrets;
 
 
</code>
Ligne 89 ⟶ 84 :
 
==La solution des systèmes de gestion de contenu ou de création de site web==
 
 
Une autre solution est d'utiliser des systèmes de création et de gestion de contenu Web, pour créer un petit site web perso et l'agrémenter d'une petite bases de données. L'avantage ici est que si vous utilisez par exemple une application comme http://sites.google.com/.
Ligne 95 ⟶ 89 :
 
L'avantage est que la sécurité est ici gérée par de grandes sociétés comme ici 'Google' qui engage des experts en la matière. Il devient dès lors très difficile pour des pirates de saccager les données de l'application web que vous créez, ainsi que la base de données.
 
 
Sites.google, par exemple, est une application en ligne qui permet le plus simplement possible de créer un petit site Internet perso agrémenter d'une base données. Pas besoin ici de sécuriser les données c'est la société Google, qui s'en charge ! Par exemple, Google.site permet de rassembler rapidement en un seul endroit une série d'informations, tout en sécurité :
 
 
* vidéos
Ligne 124 ⟶ 116 :
* système de login avec passord.
 
En matière de passordpassword il est à noter qu'il s'agit d'avoir sous la main trois types de password selon leur utilité : un pour des applications banales sans importances que vous utilisez, l'autre pour des applications personnelles (ex. e-mail), et l'autre enfin si possible plus complexes pour des informations hautementshautement importantes et confidentielles que vous désirez gérer depuis Internet (ex. password pour une application de e-banking).
 
 
== Notes et références ==
<references />
 
[[Catégorie:Sécurité informatique]]