xss8
Dernière mise à jour
Dernière mise à jour
L'auteur indique utiliser maintenant la fonction htmlentities()
afin d'assainir l'affichage du mot clé :
Suivant la version de PHP ainsi que la façon dont est développée l'application, certains contournement peuvent être possibles. L'utilisation du caractère '
, dans le cas où le code est construit également avec ce caractère n'est possible que pour les versions de PHP < 8.1.0, ce qui est le cas ici :
Malheureusement, la construction du code doit utiliser le caractère "
, car l'injection ne fonctionne pas :
L'autre contournement est possible seulement si la construction du code n'utilise aucun des caractères "
et '
, par exemple :
Mais ce n'est pas le cas ici. L'application semble donc bien protéger dans ce dernier challenge.
L'appel à la fonction htmlentities()
permet ici de bien protéger l'application. De plus, la position du drapeau ENT_QUOTES
en second paramètre permet également de se protéger des injections basées sur le caractère '
: