[JavaScriptSecurity] Un simple HTMLEntities en Javascript !
Coucou à tous,
Pour ceux qui ne le savent pas,HTMLEntities est une fonction qui encode une chaîne de caractères, pour éviter que du code HTML soit interprétée ….
En gros …
Si vous êtes webmaster d’un site internet, et qu’un utilisateur laisse un commentaire du genre :
Je suis un gros <h1>Malade</h1>
Et bien HTMLEntities évitera que ce commentaire ne produise ceci :
Je suis un gros
Malade
En lieu et place, il affichera à la place ceci :
Je suis un gros <h1>Malade</h1>
Bien entendu, ça n’est pas seulement pour éviter des problèmes d’aspect esthétique …
Avoir la possibilité d’injecter et d’exécuter du HTML ou encore, du Javascript, sur un site, ça permet de faire plusieurs types d’actions plus ou moins malveillantes … mais rarement appréciées.
Pour la partie backend, PHP fait merveilleusement bien le boulot, mais pour la partie frontale (Javascript) … je suis tombé sur un paquet de solution, plus ou moins propre …
J’ai voulu partager avec vous un simple bout de code qui vous fera gagner beaucoup de temps ^^
Il ne vous reste plus qu’à rajouter tranquillement la liste des caractères que vous souhaitez remplacer ainsi que leurs équivalences HTML ;)
Vous pourrez même gérer vos accents ^^ (cf. caracteres-speciaux )
POC jsfiddle.net
HTMLEntities(« <h1<img src=this.src onerror=alert(‘fuuuuck’);>>test</</h1>h1>« );