14 janv. 2012

Comment se proteger d'une injection sql

Bonjour tout le monde, ou devrais-je dire bonne nuit ?
 Ouioui chez moi il est minuit et je me lève à 6h demain :S 
Mais rassurez - vous ! J'ai une vie x)
Le sujet de cet article L'injection sql. Hier j'ai publié un article pour vous montrer comment faire une attaque de ce genre maintenant vous allez apprendre a vous défendre !  Cette faille ( SQL ) est au niveau de la programmation.
Pour la corriger :
Si vous êtes Hébergeur : VOUS DEVEZ ACTIVER LA FONCTION get_magic_quotes_gpc()
Si vous etes webmaster :
et que votre hébergeur a désactivé la fonction get_magic_quotes_gpc() alors vous pouvez etre victime d'injection SQL.
Pour vous protéger vous et vos membres, utilisez la fonction addlashes() qui rajoute des anti-slashs devant les quotes ' si get_magic_quotes_gpc() est désactivée.

Par exemple :

Code : PHP
$login = addslashes($_POST['login']);
$password = addslashes($_POST['password']);
Si vous êtes un utilisateur :
je vous conseille de bien choisir vos mot de passe, si possible long et avec des chiffres car comme vous avez pu le voir, ils sont bien plus durs à trouver.
Mais si l'hébergeur active la fonction magic_quotes il n'y a aucun probleme

 Mais 4nkynz, outre les problèmes de programmation qu'est-ce que je peut faire pour sécuriser ma base de donné ?




- Tout d'abord, evitez d'utiliser un compte ayant tous les pouvoirs pour l'execution de votre serveur sql si possible.

- Supprimer les fonctions que vous n'utilisez pas

- verifiez les entrees utilisateurs telles que les champs de texte. verifiez aussi que les nombres attendus soient bien des nombres avec une fonction telle que IsNumeric() par exemple.

- verifiez aussi les parametres des URL qui sont ajoutables.

- Utilisez les caracteres et fonctions d'echappement telles que AddStripSlashes() en php, voir les caracteristiques de la fonction et en general les documentations de vos languages de programmation web pour plus d'infos. Cela empechera par exemple l'entree utilisateur du caractere ' en l'echappant à l'aide d'un slash le precedant.

- Vous pouvez aussi empecher d'une maniere generale certaines sequences d'entrees utilisateurs telles que ";", "insert", "select", "//", "--", etc.

- Attention aussi à limiter le nombre de caracteres qu'un utilisateur peut entrer dans un champ de texte, car ceci peut fort bien lui compliquer la tache.

- Pour finir, attention à ce que vous mettez dans les cookies, car un mot de passe (meme crypter en md5) est vite trouvé par une attaque de ce type. Et par la suite un remplacement de cette valeur dans le cookie ïncite l'attaquant à une attaque de type brute force ; c'est donc un joli cadeau. 
Alors voila faites sa et meme moi aurais de la difficulter à pénétrer dans votre site web 

Aucun commentaire:

Enregistrer un commentaire