xss3

Exploitation

A nouveau une fonctionnalité de recherche pour ce troisième challenge, mais le mot renseigné doit être un nom d'utilisateur :

Lorsque je renseigne un nom d'utilisateur, il n'est ni réfléchi dans un message d'erreur, ni en tant que valeur du champ :

Je recherche alors le nom directement dans la réponse HTTP :

Le nom d'utilisateur renseigné est donc présent en tant que valeur d'une variable Javascript. Je tente assez simplement de sortir de la valeur avec le " puis d'exécuter l'affichage de la modale. Le commentaire, à la fin de ma payload, va permettre de se débarrasser des caractères superflus provenant de la concaténation effectuée dans le code whatever";alert(1);// :

Analyse du code source

Le nom d'utilisateur renseigné est récupéré dans la variable $username. Cette variable est affichée grâce à la directive echo directement au sein d'un bloc Javascript en tant que valeur de la variable name :

Mis Ă  jour