OWASP WebGoat:XPATH Injection
Jump to navigation
Jump to search
XPATH Injection
Description
L'objectif de cet exercice est de vous montrer que les injections XPATH (requêtes XML) s'exploitent de la même manière que pour les attaques standards SQL.
Résolution de l'exercice
La requête est du type suivant :
select * from employee where username='user' and password='pass'
Pour que celle-ci remonte tous les enregistrements, il est nécessaire qu'elle soit toujours vraie. Pour ce faire, la requête peut être du type suivant :
select from employee where username='a' OR '1'='1' and password='a' OR '1'='1'
Note
A ce stade, il est possible d'injecter ces chaînes dans les champs "login" et "password".
ce qui peut être simplifié, si l'on souhaite insérer toutes la charge dans le seul champ "login" :
select from employee where username='a' or 1=1 or 'a'='a' and password='hack'
Les tests de cette dernière requête seront interprétés comme suit :
where (username='a' or 1=1) or ('a'='a' and password='hack') \_______ VRAI ______/ \____________ FAUX _________/
Or, "vrai" OU "faux" retourne "vrai".
L'exercice est résolu :