Web - Serveur
Web - Serveur - XPATH - Injection en aveugle
La difficulté de ce challenge réside dans le fait que le simple quote est filtré et que derrrière c’est du Xpath 1.0 (donc si je veux convertir un caractère en ascii, je peux me gratter).
Du coup, j’ai essayé de faire ma comparaison de caractères avec des chaînes présentes dans le doc xml. J’ai réussi a avoir la moitié des caractères du mot de passe (il me manque quasiment toutes les majuscules 🙁)
J’ai également réussi a choper le mot de passe de Steve mais bon ....
Donc, après avoir fait appel à l’API XPath dans tous les sens, je commence à tourner en rond.
Ma question est : la solution nécessite elle de tirer parti des messages qu’il est possible de transmettre via la page de profil ? C’est a dire envoyer un message et l’utiliser ensuite pour comparer ses caractères avec ceux du mot de passe ?
Web - Serveur - XPATH - Injection en aveugle
Salut,
J’en suis au même point que toi (sauf que j’ai aussi les autres passes, sauf l’admin évidement).
Si on pouvait effectivement nous dire si la partie ’message’ est utile, ca serait sympa.
Merci
Web - Serveur - XPATH - Injection en aveugle
C’est validé de mon côté. On peut s’en sortir autrement. En fait après avoir posté le message, je me suis rendu compte que je suis passé à côté d’une fonction primordiale
Web - Serveur - XPATH - Injection en aveugle
Validé également, j’étais persuadé que cette fonction était X-Path 2.0. C’était pas compliqué finalement.
Web - Serveur - XPATH - Injection en aveugle
Bonjour,
Je reprends ce vieux topic pour avoir de l’aide concernant ce challenge.
En effet la fonction codepoints-to-string n’existe pas, j’aurais aimé avoir un indice sur la fonction à utiliser =) car à part cette fonction j’ai le reste :/
Merci d’avance ! En attendant je continue à chercher !
Agrakan
Web - Serveur - XPATH - Injection en aveugle
Bonjour,
Je suis bloqué depuis plusieurs semaines sur ce challenge.
J’ai bien réussi à obtenir la longueur du mot de passe et les premiers caractères ; mais pas plus.
J’ai bien compris que le filtre transformait les lettres, avec la syntaxe xpath, de telle sorte qu’on ne puisse pas faire une injection classique pour obtenir une comparaison valide au moment d’extraire les lettres (’a’ est transformé en ’\a\’ si je ne m’abuse).
J’ai écarté la piste de codepoints-to-string (pas le choix).
Faut-t-il utiliser / ajouter un caractère spécial ? Ou réecrire complètement la requête , comme décrit dans la documentation : ’ or substring (//user[position()= 2]/child::node() [position()=1])=4 or ’’=’ ? Si oui , comment se ramener à une injection classique ?
Editez si je spoile. Je deviens fou x)
Si quelqu’un pourrait m’éclairer, ce serait avec grand plaisir.
Cordialement,
I am the night
EDIT : Flag !!!!!
Web - Serveur - XPATH - Injection en aveugle
Salut,
L’imbrication des fonctions et des data présentes m’a permis de déduire la quazi totalité des passwd .
Pour la premiere lettre du mdp de John et Jerry , n’a pu etre identifier, malgres la boucle sur les elements absents...
J’ai tenté de me baser sur la reponse ’bad char’ du login pour déterminé les symboles valides , hormis la découverte d’un non identifié ,
je n’en trouve aucun . J’en suis à tester tout les caractères spéciaux de wikipédia -___-
La bigboucle sur les diff cases n’a rien donné non plus :/
Une suggestion ?
Ps : Au vue des postes précédents, je ne pense pas spoiler , dans le cas contraire, editez moi ( :