Quels sont les failles sql possible ?

Résolu
Mouslim02 Messages postés 320 Date d'inscription   Statut Membre Dernière intervention   -  
Mouslim02 Messages postés 320 Date d'inscription   Statut Membre Dernière intervention   -
bonjours
voila je cherche a connaitre les failles php
et plus precisement les failles sql
moi je ne sais utiliser que PDO (je ne sais pas comment faire avec Mysql ou Mysqli)
j'ai cherche les failles sql
j'ai trouvé qu'il est possible de faire ce genre de chose 'OR 1 = 1 or 1 =' comme nom d'utilisateur et un mot de passe bidon et hop on rentre facilement
mais j'ai essayé avec mon propre scripte en utilisant PDO et cette faille ne marche pas
voila le code source
<?php


try
{
$bdd = new PDO('mysql:host=localhost;dbname=aiw', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$req = $bdd->prepare('SELECT id FROM membre WHERE pseudo = :pseudo AND password = :pass');
$req->execute(array(
'pseudo' => $_POST['pseudo'],
'pass' => $_POST['password']));
$resultat = $req->fetch();

if (!$resultat)
{

 header('Location:index.php?message=indentifiant incorrecte');
}
else 
{

header('Location:index.php?message=indentifiant correcte');
}
?>

j'aimerais savoir quelles sont les failles possibles pour des injections sql et comment les securiser
je veut apprendre a bien securiser mes sites web et non les exposer au danger
merci de votre aide d'avance :)
A voir également:

5 réponses

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

En utilisant correctement les requêtes préparées de PDO (avec paramètres) comme tu le fait dans le code de ton premier message, tu ne risques aucunes injections sql.

Bonne journée
2
Mouslim02 Messages postés 320 Date d'inscription   Statut Membre Dernière intervention   11
 
salut pitet
oui je vais bientôt mettre le site sur internet et j'été unpeu inquiet
vous dites que toutes les injections sont impossible avec ce script
mateo21 est donc un bon prof
merci bcp vous me rassurez :)
0
canarder Messages postés 1714 Date d'inscription   Statut Membre Dernière intervention   355
 
Vérifie tes deux champs avec :
if(preg_match('/^[\w_]+$/',$post['xxx']))
1
Mouslim02 Messages postés 320 Date d'inscription   Statut Membre Dernière intervention   11
 
Salut
Euh jai pas compris votre reponse
0
canarder Messages postés 1714 Date d'inscription   Statut Membre Dernière intervention   355
 
0
Mouslim02 Messages postés 320 Date d'inscription   Statut Membre Dernière intervention   11
 
merci
0
bg62 Messages postés 23733 Date d'inscription   Statut Modérateur Dernière intervention   2 409
 
lut;)
si tu as un peu de patience, pour vraiment trouver :
https://longuetraine.fr/index.php?article968/verifier-la-securite-site-web
c'est long mais c'est bon .... :)
1
Mouslim02 Messages postés 320 Date d'inscription   Statut Membre Dernière intervention   11
 
salut bg62 et dsl pour le retard
oui j'ai jeté un coup d'oeil sur la page que vous mavez donné ça a l'air tres intéréssant
je vais la lire
merci bcp j'ai vu qu'il y avait une liste d'attaque possible c'est ce que je cherchais merci bcp :)
0
Npok
 
Salut,
C'est normal que ton test de faille avec " 'OR 1 = 1 or 1 =' " ne fonctionne pas. Cette faille est fix avec PDO. Du coup plus de soucis au niveau de cette faille de sécurité là ;)

Pour ce qui est des autres failles je ne peux pas trop te guider mais les ressources au dessus on l'air top !
1
Mouslim02 Messages postés 320 Date d'inscription   Statut Membre Dernière intervention   11
 
salut napok vous me rassurez une faille de moins
pdo est donc efficace :D
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
canarder Messages postés 1714 Date d'inscription   Statut Membre Dernière intervention   355
 
Néanmoins, il est judicieux de traiter les erreurs d'insertions avec les fonctions is_* et preg_match.
1
Mouslim02 Messages postés 320 Date d'inscription   Statut Membre Dernière intervention   11
 
tout a fait d'accord ne jamais se sentir à l'abri ;)
0