Disons que nous avons cette forme, et la partie possible pour un utilisateur d'injecter du code malveillant est ce ci-dessousfonction attaque XSS à htmlspecialchar dérivation() dans l'attribut de valeur
...
<input type=text name=username value=
<?php echo htmlspecialchars($_POST['username']); ?>>
...
Nous ne pouvons pas simplement mettre un , ou un javascript: alert(); appeler, parce que la valeur sera interprétée comme une chaîne, et htmlspecialchars filtre les <,>, ",", donc nous ne pouvons pas fermer la valeur avec des citations.
Nous pouvons utiliser String.fromCode (... ..) pour contourner les citations, mais je reste incapable d'obtenir une simple boîte d'alerte pour faire apparaître.
Toutes les idées?
Excellente question, parce que je Je me fie à htmlspecialchars() pour la sécurité - comme le font, j'en suis sûr, beaucoup de gens ... je me demande si vous pouvez glisser un eval() ou quelque chose ... d'autant plus que je crois que le navigateur se déshabilite avant de passer Je pense que ce serait plus exploitable si vous insérez des données utilisateur dans un attribut onclick ou href ou un autre exécutable, l'exploitation d'un attribut de valeur semble plus difficile –
@Frank: Si vous mettez des données malveillantes dans Javascript, vous devez l'encoder Javascript aussi – SLaks