NewbieContest

Divers => Hacking => Discussion démarrée par: prepa75 le 23 Décembre 2012 à 15:43:19



Titre: question sur Injection SQL
Posté par: prepa75 le 23 Décembre 2012 à 15:43:19
Bonjour à tous,

je me suis fait un petit serveur en local avec une bd mysql, et une page web pour tester les injections sql.

ma page contient le champ login et le champ password, mon code php fait la requete suivante :

Code:
select * from User where (user = "$_login" and password = "$_password")
#si il y a 1 tuple ou plus, j'affiche "Bienvenue xxxx"

Bon bien sur c'est volontairement pas sécure.
je souhaite récupérer la table user en 1 seul injection, est-ce possible ?

pour le moment la seule manière que j'ai trouvé est de faire une injection par user :

Code:
login=" or "a"="a") limit i,1;#

et j'incrémente le i.

est-ce que dans ce cas concret il existe une manière de tout récupérer en une seule passe ?


Titre: Re : question sur Injection SQL
Posté par: ferbos le 27 Décembre 2012 à 21:27:17
Sans le "limit", tu ne récupères pas tout? Qu'obtiens-tu sans lui?


Titre: Re : question sur Injection SQL
Posté par: prepa75 le 27 Décembre 2012 à 21:32:52
Salut ferbos,

Si, la requête me donne bien l'intégralité de la table, cependant pour s'authentifier, je vérifie en php si la requête à au moins un tuple valide et si c'est le cas je le prend et log la personne.
Une fois loggué, j'affiche le nom et mon script parse la page et récupère le nom.

en fouinant un peu à droite à gauche j'ai trouvé la commande into dumpfile 'lala.txt'. j'ai vu que ce fichier s'est écrit dans mon dossier /var/lib/mysql/, il contient bien l'intégralité de la table user mais comment récupérer ce fichier sans avoir accès au fileSystem ?


Titre: Re : question sur Injection SQL
Posté par: ferbos le 27 Décembre 2012 à 23:47:49
Un truc du genre rownum>1 dans le sql pour avoir au moins un t-uplet et la récupération du fichier, tu peux le faire en ajoutant du php à ton injection.

J'ignore si la méthode est bonne mais c'est ce qu'il me vient à l'esprit  =D

Édit: je crois que j'ai dit une belle ânerie avec mon rownum =D


Titre: Re : question sur Injection SQL
Posté par: prepa75 le 28 Décembre 2012 à 00:00:33
je vois tout à fait l'idée et elle me parait bonne mais est-ce que tu pourrais me donner un bout de pseudo-code qui permetrait de récupérer le fichier ? je ne vois pas trop comment le faire en php.


Titre: Re : question sur Injection SQL
Posté par: ferbos le 28 Décembre 2012 à 07:04:30
Disons que cela me gène, surtout que tu as résolu des épreuves pouvant répondre à ton problème =D Je suis sûr que des personnes plus qualifiées sont capables de te répondre par MP.


Titre: Re : question sur Injection SQL
Posté par: prepa75 le 28 Décembre 2012 à 09:45:40
No problem,  =D la nuit m'a porté conseil et j'ai trouvé ce dont j'avais besoin. Merci pour ton aide.