Objectif :
Invoquer la fonction alert() ( en Javascript ) en exécutant du script dans site web.
Solution :
On démarre le lab et on se retrouve dans un blog avec une barre de recherche à disposition.
On essaye par exemple de rechercher le mot "rouge" et il apparaît en clair sur la page comme dans l'image qui suit :
D'un point de vue du code source, on constate que le mot "rouge" est contenu dans une template string :
On va donc tenter une XSS réfléchie :
On va utiliser une expression qui va être placée entre "${" et "}". Ainsi elle va être exécutée dans la template string.
Notre payload est : ${alert(1)}. Il ne contient aucun caractére filtré par le WAF mis en place.
On essaye de le soumettre au serveur par la barre de recherche et une fenêtre surgit :
Le script voulu s'est exécuté et le lab est désormais résolu !