Niveau "High"
Le formulaire du challenge se voit ajouter un champ contenant un jeton anti-CSRF de type per-request (c'est Ă dire qu'il s'agit d'un jeton diffĂ©rent pour chaque requĂȘte) :

De plus, le délai entre deux tentatives est devenu aléatoire pour une valeur comprise plus ou moins dans l'intervalle [1 ; 3] secondes (en fait [0 ; 3] d'aprÚs les sources):

Afin de contourner la cette nouvelle protection, il me faut dans un premier temps extraire le jeton de la rĂ©ponse HTTP prĂ©cĂ©dente (prĂ©sent suite Ă la requĂȘte GET
permettant d'afficher le formulaire) puis l'injecter dans la prochaine tentative de brute force. Cela se fait bien en utilisant Burp et son Intruder :

La payload 1 est le dictionnaire de mots de passe et la payload 2 représente le jeton anti-CSRF en mode recursive grep :

En plus de l'extract, il ne faut pas oublier de faire suivre les redirections Ă Burp (et de limiter le nombre de thread Ă 1) :

Puis j'inclue le premier jeton (celui prĂ©sent dans la requĂȘte qui a permis de basculer en mode Intruder) :

Concernant le dĂ©lai il n'y a pas de solution mis Ă part prendre son mal en patience, mais je retrouve tout de mĂȘme assez rapidement le mot de passe de l'administrateur. La requĂȘte contenant le bon mot de passe est identifiĂ©e grĂące Ă sa taille qui est diffĂ©rente des autres requĂȘtes (mais il est possible de se baser sur d'autres informations si nĂ©cessaire) :

DerniĂšre mise Ă jour