Web - Serveur

mercredi 10 août 2016, 09:41  #1
Web - Serveur - SQL injection - Insert
Ridrum
  • 13 posts

Salut tout le monde !

Je vais essayé de ne pas trop spoil le chall :)

Ca fait plusieurs jours que je galère à résoudre l’injection sql par insertion. J’ai beau retourner le problème dans tous les sens, j’ai du mal à voir comment extraire correctement les données :(

J’ai bien identifié le champ à injecter, réussi à sortir quelques infos (uniquement sous forme de nombre), essayé de faire ressortir une erreur explicite, cherché
dans tous les sens pour faire de concaténation de chaine...etc Mais rien n’y fait, je n’arrive pas :(

J’aimerais donc savoir si je suis sur le bon chemin ou si je suis complètement à côté de la plaque ? Est ce que le fait de devoir concaténer des chaines (ou autres types)
est la bonne solution ?

Merci d’avance pour votre aide.

Ridrum

vendredi 12 août 2016, 13:29  #2
Web - Serveur - SQL injection - Insert
Matthieu
  • 30 posts

Bonjour,
Quelque chose me titille : Tu dis avoir réussi a récupérer des informations , dans ce cas tu as compris l’exploit ! Ne te reste plus qu’a tout sortir de la meme facon !
Sinon, as tu repéré comment agit le WAF sur les inputs ?
Quel input a l’air inectable ?
Comment est formé une requête d’insertion en sql ?
Si tu arrives a répondre a ces questions, tu as tout pour valider ce challenge ! Dis toi bien que tu en as pas pour 10 minutes ... Meme une fois que tu auras compris le truc , il te faudra compter pas mal de temps avant de pouvoir valider le challenge ;)
Bon courage

mercredi 17 août 2016, 09:45  #3
Web - Serveur - SQL injection - Insert
Ridrum
  • 13 posts

Merci pour ta réponse :)

Je pense pouvoir répondre à l’ensemble de ces questions et après une longue réflexion sur le chall, je n’y arrive toujours pas.

Voici ce que j’observe en détail (SPOIL) :
-> impossible d’utiliser les fonctions sur les string (du type SUBSTRING, CONV, LEFT, RIGHT...etc) puisqu’elles sont filtrés (WAF ?)
-> possibilité d’extraire UNIQUEMENT des valeurs décimales (nombre de table, premier caractère de table...etc)

Est ce que mes deux observations sont correctes ?

Merci d’avance pour votre aide !

mercredi 17 août 2016, 13:36  #4
Web - Serveur - SQL injection - Insert
Ridrum
  • 13 posts

J’ai enfin réussi à me débloquer et valider le chall :)

Pour aider les personnes qui aurait comme moi du mal à résoudre le challenge, le plus important est de connaître comment sont formés les requêtes d’insertion.
La page suivante pourrait être utile : https://dev.mysql.com/doc/refman/5.7/en/insert-select.html

mercredi 17 août 2016, 15:57  #5
Web - Serveur - SQL injection - Insert
Agrakan
  • 28 posts

Bonjour R !drum,

Je suis passé par les mêmes déductions que toi, et j’ai passé beaucoup de temps pour contourner ces filtres.
Mais à partir d’un moment ca devient compliqué et impossible.

Repose toi et remet tes idées au claire, ensuite tu trouveras cela super simple !

Cdt,

Agrakan.

mercredi 17 août 2016, 19:09  #6
Web - Serveur - SQL injection - Insert
Ridrum
  • 13 posts

Merci pour ta réponse Agrakan :)

J’ai enfin réussi à valider le chall !

Un petit indice pour ceux qui galèrent : http://dev.mysql.com/doc/refman/5.7/en/insert.html ;)

lundi 19 décembre 2016, 15:41  #7
Web - Serveur - SQL injection - Insert
jimizzzz
  • 4 posts

Help ! Je n’arrive à rien !! J’ai beau lire et relire la doc je n’y arrive pas :’-(

lundi 22 mai 2017, 00:44  #8
Web - Serveur - SQL injection - Insert
Rémy
  • 1 posts

J’arrive bien à récupérer des informations grâce à l’insert, j’ai même réussis à récupérer un compte admin avec mot de passe et mail mais je n’arrive pas à valider le challenge. Qu’est-ce qu’on est censé trouver ? Un mot de passe, un fichier, un mail ?

mardi 26 juin 2018, 22:12  #9
Web - Serveur - SQL injection - Insert
Sicarius
  • 23 posts

Pour ceux qui sont bloqués, partez pas dans des requêtes de 40km de long, la réponse est "simple" (tout est relatif, on parle d’un chall difficile, faut quand même un peu réfléchir). Lisez bien la doc SQL sur les syntaxes des méthodes d’insertion dans les BDD, et une fois l’astuce comprise pour récupérer du "texte" , ca se regle en deux requêtes :)

Bonne chance.