Torrents Stats
- Partagées
- 130 Go
- Téléchargées
- 0 bytes
- Ratio
- -
- Messages
- 962
- J'aime
- 762
- Trophées
- 1 538
- Inscrit
- 31 Décembre 2015
Link Removed
Bonjour Veryleak's.
Je vous partage aujourd'hui un tutoriel sur les failles SQL #1
En plusieurs parties.
Il s'agit d'un premier court très simpliste, on pars des bases.
Tous d’abords, voici le code tout a fait anodin fais par un webmaster quelconque :
Le code PHP/HTML :
Link Removed
Maintenant explicitons, dans le code suivant , voilà la requête SQL :
Selon cette requête SQL, il faut que le user_login ainsi que le user_password soit valide.
Pour cela nous allons vérifier dans la table jeux_user qu'il y est le Login 'admin' et le password 'a', ainsi , si c'est le cas ,
ma requête va me retourner une ligne, je la stock dans un tableau :
Ensuite je compte le nombre de ligne retourner:
Puis je fais mon petit test :
Maintenant, je me rappel, quand SQL, nous pouvons faire passer des conditions en commentaire, a l'aide d'un '#', alors que se passerait-il
si, à la fin de mon login, je rajoutais un '#' ? admin#
Lorsque vous allez essayer, vous allez vous rendre compte, que non, sa ne marche, pourquoi ?
En faite, lorsque vous voulez exécuter du code SQL sur un serveur,il faut d'abord fermer la chaine de caractère, les personnes ayant déjà
fais un langage de prog comprendront, pour les autres, c'est simple il suffit d'ajouter un apostrophe :
Avec l'apostrophe, le '#' n'est plus considérer comme une chaîne de caractère, et donc on peut t'injecter du code SQL!
Voilà donc comment le server interprète la requête :
Nous venons donc de mettre la condition password en commentaire, seul le login doit être a 'true'.
Bien sur, il y a d'autre moyen de bypass le password :
Login : admin
Pass : 1' or 1='1
Pour un minimum de sécurité vous pouvez faire votre requête en deux parties :
Link Removed
Et penser a utiliser la fonction htmlspecialchars pour prévenir a tout autre type de faille !
Voilà un premier petit cours avec des bous de code.
Bonjour Veryleak's.
Je vous partage aujourd'hui un tutoriel sur les failles SQL #1
En plusieurs parties.
Il s'agit d'un premier court très simpliste, on pars des bases.
Tous d’abords, voici le code tout a fait anodin fais par un webmaster quelconque :
Le code PHP/HTML :
Link Removed
Maintenant explicitons, dans le code suivant , voilà la requête SQL :
Code:
$sql = "SELECT * FROM jeux_user WHERE user_login = '".$pseudo."' AND user_password = '".$pass."'";
Selon cette requête SQL, il faut que le user_login ainsi que le user_password soit valide.
Pour cela nous allons vérifier dans la table jeux_user qu'il y est le Login 'admin' et le password 'a', ainsi , si c'est le cas ,
ma requête va me retourner une ligne, je la stock dans un tableau :
Code:
$res = $sql->fetchAll();
Ensuite je compte le nombre de ligne retourner:
Code:
$res = count($res);
Puis je fais mon petit test :
Code:
if($res == 0){
echo ('Error');
}else{
echo ('Welcome');
}
Maintenant, je me rappel, quand SQL, nous pouvons faire passer des conditions en commentaire, a l'aide d'un '#', alors que se passerait-il
si, à la fin de mon login, je rajoutais un '#' ? admin#
Lorsque vous allez essayer, vous allez vous rendre compte, que non, sa ne marche, pourquoi ?
En faite, lorsque vous voulez exécuter du code SQL sur un serveur,il faut d'abord fermer la chaine de caractère, les personnes ayant déjà
fais un langage de prog comprendront, pour les autres, c'est simple il suffit d'ajouter un apostrophe :
Code:
admin'#
Avec l'apostrophe, le '#' n'est plus considérer comme une chaîne de caractère, et donc on peut t'injecter du code SQL!
Voilà donc comment le server interprète la requête :
Code:
$sql = "SELECT * FROM jeux_user WHERE user_login = '".$pseudo."' // AND user_password = '".$pass."'";
Bien sur, il y a d'autre moyen de bypass le password :
Login : admin
Pass : 1' or 1='1
Code:
$sql = "SELECT * FROM jeux_user WHERE user_login = 'admin' AND user_password = '1' or 1='1'"
Link Removed
Et penser a utiliser la fonction htmlspecialchars pour prévenir a tout autre type de faille !
Voilà un premier petit cours avec des bous de code.