Niveau "High"
Quelles nouveautés pour ce niveau "High" ? :

Ici pas d'étape de confirmation, le changement du mot de passe est directement effectué :

La seule requĂȘte effectuĂ©e est la suivante :

J'identifie rapidement la présence d'un jeton anti-CSRF nommé user_token, mais plus intéressant ici, la réponse contient un commentaire HTML :

Il s'agit sans doute d'un contournement mis en place par le dĂ©veloppeur afin de tester sa feature sans avoir Ă rĂ©soudre le Captcha. Je forge donc une requĂȘte dont la valeur du Captcha (le paramĂštre g-recaptcha-response ) est hidd3n_valu3 ainsi qu'un entĂȘte User-Agent possĂ©dant la valeur reCAPTCHA :

Le changement du mot de passe fonctionne :

A cause de la présence du jeton anti-CSRF il me faut exploiter une faille XSS sur l'application cible afin de récupérer un jeton puis seulement effectuer l'attaque CSRF.
Voici la premiĂšre requĂȘte XHR :
Une fois le jeton rĂ©cupĂ©rĂ©, la seconde requĂȘte effectuĂ©e sera :
L'exploitation de la vulnĂ©rabilitĂ© ne fonctionne pas sous Chrome (testĂ©e sur la version 78), car le navigateur interdit la modification de l'entĂȘte User-Agent :

Mais cela fonctionne sur Firefox (testée sur la version 70) :

Mis Ă jour