Le Forum francophone communautaire des utilisateurs de Kali linux

Tout le reste ici => Vrac => Discussion démarrée par: Frenchcore44 le 20 octobre 2019 à 23:09:30

Titre: [Résolu] |Besoin d'aide pour extraire des noms de tables et des column SQLI Bind
Posté par: Frenchcore44 le 20 octobre 2019 à 23:09:30
Salut,

J'aurais besoin d'aide pour savoir comment extraire des tables et des columns depuis sqli mysql blind qui retourne que 2 résultat (vraix) ou (faux)
Voila enfaîte je suis bloquer sur le challenge de dvwa dans la partis sqli blind

il y a une search bar, et quand on rentre un id sa nous renvoie si l'utilisateur existe ou pas

J'ai bien compris le concept de cette faille, sauf je n'y arrive pas extraire les noms d'une colone ou d'une table

Du coup d'après la documentation : https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/MySQL%20Injection.md#mysql-blind-with-substring-equivalent
Il faut faire un SELECT et utilisez la fonction SUBSTR
Alors je me suis renseignez sur cette fonction

SUBSTR permet extraire une chaîne de caractère dans mon cas sa seras le nom d'une table de ma db
Le "premier 1" est la position définie pour le début et sur la longueur définie par “deuxième 1”

https://sql.sh/fonctions/substring

Du coup je fait mon SELECT comme la doc me l'indique

1' AND SELECT SUBSTR(table_name,1,1) FROM information_schema.tables > 'u' #
Et puis sa retourne faux, pourtant dans information_schema.tables j'ai bien une table qui commence par "u"

du coup je me dit qu'il faut faire un UNION car normalement je ne peut pas faire un SELECT sans UNION (j'ai bien dit normalement) ???

du coup il me faut le nombre de columns
1' ORDER BY 3# -> faux
1' ORDER BY 2# -> vraix

Ducoup je re fait mon SELECT mais avec UNION

1' AND UNION  SELECT 1,SUBSTR(table_name,1,1) FROM information_schema.tables > 'u' #   -> faux
Pareil sa ne marche pas,
j'essaye donc plusieurs chose
1' AND SUBSTR(table_name,1,1) FROM information_schema.tables > 'u' #   -> faux
1' AND SUBSTR(table_name,1,1) FROM information_schema.tables  WHERE TABLE_SCHEMA = database() > 'u' # -> faux

Ducoup je suis bloquer et je ne sais pas comment je peut extraire les noms des tables et columns en bruteforcent

Merci d'avence pour votre aide
Titre: Re : Besoin d'aide pour extraire des noms de tables et des columns via une SQLI Bind
Posté par: ZeR0-@bSoLu le 21 octobre 2019 à 06:39:03
Salut,

Sans te donner la réponse je peux te proposer ceci : https://zestedesavoir.com/tutoriels/945/les-injections-sql-le-tutoriel/les-injections-sql-en-aveugle/blind-sql-injection/

https://zestedesavoir.com/tutoriels/945/les-injections-sql-le-tutoriel/les-injections-sql-en-aveugle/total-blind-sql-injection/

https://www.owasp.org/index.php/Blind_SQL_Injection

Solution du pauvre : Fuzzing
Titre: Re : Besoin d'aide pour extraire des noms de tables et des columns via une SQLI Bind
Posté par: Frenchcore44 le 21 octobre 2019 à 20:53:57
Salut, re merci

du coup envoyant la doc que tu ma donner,
 j'avais oubliez qu'il fallait que je met un id qui n'existe pas,
car si je fait j'aurais beau faire des conditions qui sont vrais ou faux sa me renvoyer tout le temps vrais car je mettais un id qui était vrais

du coup pour les plus curieux sa donne ça :

-1' UNION SELECT 1,user FROM mysql.user WHERE user LIKE 'r%' # -> vrais si un utilisateur commence par r
1' UNION SELECT 1,user FROM mysql.user WHERE user LIKE 'jepeutmetrenimportequoi%' # -> toutes le temps vrais
Titre: Re : Besoin d'aide pour extraire des noms de tables et des columns via une SQLI Bind
Posté par: ZeR0-@bSoLu le 21 octobre 2019 à 20:56:02
De rien je passe en résolu  du coup ;)