logo Homepage
+  NewbieContest
|-+  Divers» Hacking» question sur Injection SQL
Username:
Password:
Pages: [1]
  Imprimer  
Auteur Fil de discussion: question sur Injection SQL  (Lu 4333 fois)
prepa75

Profil challenge

Classement : 1018/54252

Membre Junior
**
Hors ligne Hors ligne
Messages: 97


Voir le profil
« 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 ?
Journalisée
ferbos

Profil challenge

Classement : 11/54252

Membre Senior
****
Hors ligne Hors ligne
Messages: 356

The Godfather is back....


Voir le profil WWW
« #1 le: 27 Décembre 2012 à 21:27:17 »

Sans le "limit", tu ne récupères pas tout? Qu'obtiens-tu sans lui?
Journalisée

"Les seules limites sont les fautes."
prepa75

Profil challenge

Classement : 1018/54252

Membre Junior
**
Hors ligne Hors ligne
Messages: 97


Voir le profil
« #2 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 ?
« Dernière édition: 27 Décembre 2012 à 21:40:15 par prepa75 » Journalisée
ferbos

Profil challenge

Classement : 11/54252

Membre Senior
****
Hors ligne Hors ligne
Messages: 356

The Godfather is back....


Voir le profil WWW
« #3 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  

Édit: je crois que j'ai dit une belle ânerie avec mon rownum
« Dernière édition: 28 Décembre 2012 à 12:43:52 par ferbos » Journalisée

"Les seules limites sont les fautes."
prepa75

Profil challenge

Classement : 1018/54252

Membre Junior
**
Hors ligne Hors ligne
Messages: 97


Voir le profil
« #4 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.
Journalisée
ferbos

Profil challenge

Classement : 11/54252

Membre Senior
****
Hors ligne Hors ligne
Messages: 356

The Godfather is back....


Voir le profil WWW
« #5 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 Je suis sûr que des personnes plus qualifiées sont capables de te répondre par MP.
Journalisée

"Les seules limites sont les fautes."
prepa75

Profil challenge

Classement : 1018/54252

Membre Junior
**
Hors ligne Hors ligne
Messages: 97


Voir le profil
« #6 le: 28 Décembre 2012 à 09:45:40 »

No problem,  la nuit m'a porté conseil et j'ai trouvé ce dont j'avais besoin. Merci pour ton aide.
Journalisée
Pages: [1]
  Imprimer  
 
Aller à: