xss2
Exploitation
Le second challenge propose une fonctionnalité de recherche :

Lorsque je renseigne un mot clé, il n'est pas réfléchi dans le message d'erreur mais est présent en tant que valeur du champ de recherche :

value est un attribut HTML safe, l'injection ne peut se faire directement. Je vais donc préparer ma payload afin de m'échapper de cet attribut puis forger mon attaque. Il y a plusieurs solutions ici mais je choisis de passer par un autofocus whatever" onfocus="alert(1)" autofocus x=" :

Analyse du code source
La valeur du paramètre $keyword, récupérée depuis la variable $_POST['search'] est affichée directement grâce à la directive echo en tant que valeur de l'attribut HTML value. Aucune protection étant en place, l'injection est donc évidente :
Mis Ă jour