xss5
Exploitation
Cinquième challenge. L'auteur indique qu'il encode maintenant les caractères < et > :

Je tente la payload <script>alert(1)</script> afin de vérifier l'encodage. Le mot clé n'est pas réfléchi dans le message d'erreur mais en tant que valeur de l'attribut HTML value :

Et les chevrons sont encodés en entités HTML :
Seulement les chevrons sont encodés, il m'est alors possible de réutiliser la même technique d'attaque qu'au challenge xss2, whatever" onfocus="alert(1)" autofocus x=" :
Et cela fonctionne :

Analyse du code source
Le mot clé est bien réfléchi en tant que valeur de l'attribut HTML value mais un assainissement est tout d'abord effectué grâce à la méthode xss_check(). Cette méthode remplace les chevrons < et > en entités HTML :
Mis Ă jour