• Salut Visiteur ! ✌
    Découvre nos partenaires officiels avec VeryLeak's. Des choix réfléchis, dignes de confiance pour tes avantages.

    StoryFound | REFUNDER TEAM

    StoryFound

    Rejoindre le Canal ✨ ou Plus d'information 📃

    Une question ? Rejoingnez nos différents canaux (Discord, Telegram, Revolt)

    Nos Canaux Communautaires

    Cet affichage peut se clôturer définitivement via la croix en haut à droite.

Cours Faille SQL #1

Shems

VeryLeak's Unique Member 👑
Level 5
VeryFriend's

Torrents Stats

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 :
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."'";
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

Code:
$sql = "SELECT * FROM jeux_user WHERE user_login = 'admin' AND user_password = '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.
 

Ninja

VeryLeak's Unique Member 👑
Level 1

Torrents Stats

Messages
51
J'aime
29
Trophées
263
Inscrit
2 Février 2017
Ta préciser qu'on peut le faire spécialement sur Kali Linux / Ubuntu Linux ?
 

Takeo

Nouveau 🌱
Level 1

Torrents Stats

Messages
3
J'aime
1
Trophées
1
Inscrit
17 Mai 2018
Bon tutoriel pour un début, c'est dommage que tu n’ais pas précisé la source.

Ta préciser qu'on peut le faire spécialement sur Kali Linux / Ubuntu Linux ?

Sqlmap n'est pas une référence... De plus, pas besoin de Kali pour ça.
 
Haut Bas