xss2
Dernière mise à jour
Dernière mise à jour
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="
:
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 :